[INFO] cloning repository https://github.com/BartWaardenburg/fallow
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/BartWaardenburg/fallow" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBartWaardenburg%2Ffallow", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBartWaardenburg%2Ffallow'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 65a26631b2fa3979f1f05857fa3044d361b1afa2
[INFO] testing BartWaardenburg/fallow against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FBartWaardenburg%2Ffallow" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/BartWaardenburg/fallow
[INFO] finished tweaking git repo https://github.com/BartWaardenburg/fallow
[INFO] tweaked toml for git repo https://github.com/BartWaardenburg/fallow written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/BartWaardenburg/fallow on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/BartWaardenburg/fallow already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 71363bebaabe825eee6346ccdec883f3d3e76ec886a08faaf8050cace19f0361
[INFO] running `Command { std: "docker" "start" "-a" "71363bebaabe825eee6346ccdec883f3d3e76ec886a08faaf8050cace19f0361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "71363bebaabe825eee6346ccdec883f3d3e76ec886a08faaf8050cace19f0361", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "71363bebaabe825eee6346ccdec883f3d3e76ec886a08faaf8050cace19f0361", kill_on_drop: false }`
[INFO] [stdout] 71363bebaabe825eee6346ccdec883f3d3e76ec886a08faaf8050cace19f0361
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a6c35046e1100ec2fe0e400a9d8c0b906e80ca3c878871606a7d508cec095d50
[INFO] running `Command { std: "docker" "start" "-a" "a6c35046e1100ec2fe0e400a9d8c0b906e80ca3c878871606a7d508cec095d50", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling owo-colors v4.3.0
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling phf_shared v0.13.1
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling rustc-hash v2.1.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling oxc_data_structures v0.120.0
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling oxc_allocator v0.120.0
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling phf v0.13.1
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling oxc_estree v0.120.0
[INFO] [stderr]    Compiling litemap v0.8.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling writeable v0.6.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling phf_generator v0.13.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling icu_normalizer_data v2.1.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling icu_properties_data v2.1.2
[INFO] [stderr]    Compiling oxc_str v0.120.0
[INFO] [stderr]    Compiling dragonbox_ecma v0.1.12
[INFO] [stderr]    Compiling cow-utils v0.1.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling nonmax v0.5.5
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling unicode-id-start v1.4.0
[INFO] [stderr]    Compiling object v0.37.3
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling gimli v0.32.3
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling rustc-demangle v0.1.27
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling addr2line v0.25.1
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling halfbrown v0.4.0
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling self_cell v1.2.2
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling is_ci v1.2.0
[INFO] [stderr]    Compiling winnow v1.0.0
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling supports-color v3.0.2
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling value-trait v0.12.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling oxc-miette-derive v2.7.0
[INFO] [stderr]    Compiling oxc_ast_macros v0.120.0
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling phf_macros v0.13.1
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling backtrace v0.3.76
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling oxc-miette v2.7.0
[INFO] [stderr]    Compiling toml_parser v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling oxc_span v0.120.0
[INFO] [stderr]    Compiling oxc_diagnostics v0.120.0
[INFO] [stderr]    Compiling backtrace-ext v0.2.1
[INFO] [stderr]    Compiling miette-derive v7.6.0
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling serde_spanned v1.1.0
[INFO] [stderr]    Compiling toml_datetime v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling oxc_regular_expression v0.120.0
[INFO] [stderr]    Compiling seize v0.5.1
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling toml_writer v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling supports-unicode v3.0.0
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling arrayvec v0.7.6
[INFO] [stderr]    Compiling supports-hyperlinks v3.2.0
[INFO] [stderr]    Compiling simd-json v0.17.0
[INFO] [stderr]    Compiling fast-glob v1.0.1
[INFO] [stderr]    Compiling toml v1.1.0+spec-1.1.0
[INFO] [stderr]    Compiling papaya v0.2.3
[INFO] [stderr]    Compiling miette v7.6.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling json-strip-comments v3.1.0
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling seq-macro v0.3.6
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling json_comments v0.2.2
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling nodejs-built-in-modules v1.0.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling console v0.16.3
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling xxhash-rust v0.8.15
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling inotify v0.11.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling pin-project-internal v1.1.11
[INFO] [stderr]    Compiling notify-types v2.1.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling pin-project v1.1.11
[INFO] [stderr]    Compiling notify v8.2.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling serde_repr v0.1.20
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rmcp v1.2.0
[INFO] [stderr]    Compiling bitflags v1.3.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling notify-debouncer-mini v0.7.0
[INFO] [stderr]    Compiling oxc_index v4.1.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling oxc_syntax v0.120.0
[INFO] [stderr]    Compiling fallow-types v2.2.0 (/opt/rustwide/workdir/crates/types)
[INFO] [stderr]    Compiling oxc_resolver v11.19.1
[INFO] [stderr]    Compiling oxc_ast v0.120.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling rmcp-macros v1.2.0
[INFO] [stderr]    Compiling lsp-types v0.94.1
[INFO] [stderr]    Compiling auto_impl v1.3.0
[INFO] [stderr]    Compiling tower-lsp-macros v0.9.0
[INFO] [stderr]    Compiling pastey v0.2.1
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling fallow-config v2.2.0 (/opt/rustwide/workdir/crates/config)
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling fallow-graph v2.2.0 (/opt/rustwide/workdir/crates/graph)
[INFO] [stderr]    Compiling oxc_ecmascript v0.120.0
[INFO] [stderr]    Compiling oxc_ast_visit v0.120.0
[INFO] [stderr]    Compiling oxc_parser v0.120.0
[INFO] [stderr]    Compiling oxc_semantic v0.120.0
[INFO] [stderr]    Compiling fallow-extract v2.2.0 (/opt/rustwide/workdir/crates/extract)
[INFO] [stderr]    Compiling fallow-mcp v2.2.0 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]    Compiling fallow-core v2.2.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling tower-lsp v0.20.0
[INFO] [stderr]    Compiling fallow-cli v2.2.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stderr]    Compiling fallow-lsp v2.2.0 (/opt/rustwide/workdir/crates/lsp)
[INFO] [stderr]     Finished `dev` profile [unoptimized] target(s) in 3m 56s
[INFO] running `Command { std: "docker" "inspect" "a6c35046e1100ec2fe0e400a9d8c0b906e80ca3c878871606a7d508cec095d50", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a6c35046e1100ec2fe0e400a9d8c0b906e80ca3c878871606a7d508cec095d50", kill_on_drop: false }`
[INFO] [stdout] a6c35046e1100ec2fe0e400a9d8c0b906e80ca3c878871606a7d508cec095d50
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 21e31ebdeb117fadb29b73b3b2149e78f0b3941f92c99abf8c6ffe9fa1accf70
[INFO] running `Command { std: "docker" "start" "-a" "21e31ebdeb117fadb29b73b3b2149e78f0b3941f92c99abf8c6ffe9fa1accf70", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.42
[INFO] [stderr]    Compiling zerocopy-derive v0.8.42
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling cc v1.2.57
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling page_size v0.6.0
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling similar v2.7.0
[INFO] [stderr]    Compiling thousands v0.2.0
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling mintex v0.1.4
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling dhat v0.3.3
[INFO] [stderr]    Compiling fallow-lsp v2.2.0 (/opt/rustwide/workdir/crates/lsp)
[INFO] [stderr]    Compiling fallow-mcp v2.2.0 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]    Compiling insta v1.46.3
[INFO] [stderr]    Compiling alloca v0.4.0
[INFO] [stderr]    Compiling fallow-extract v2.2.0 (/opt/rustwide/workdir/crates/extract)
[INFO] [stderr]    Compiling fallow-config v2.2.0 (/opt/rustwide/workdir/crates/config)
[INFO] [stderr]    Compiling criterion-plot v0.8.2
[INFO] [stderr]    Compiling fallow-types v2.2.0 (/opt/rustwide/workdir/crates/types)
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling fallow-cli v2.2.0 (/opt/rustwide/workdir/crates/cli)
[INFO] [stderr]    Compiling criterion v0.8.2
[INFO] [stderr]    Compiling fallow-graph v2.2.0 (/opt/rustwide/workdir/crates/graph)
[INFO] [stderr]    Compiling fallow-core v2.2.0 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Finished `test` profile [unoptimized] target(s) in 1m 40s
[INFO] running `Command { std: "docker" "inspect" "21e31ebdeb117fadb29b73b3b2149e78f0b3941f92c99abf8c6ffe9fa1accf70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "21e31ebdeb117fadb29b73b3b2149e78f0b3941f92c99abf8c6ffe9fa1accf70", kill_on_drop: false }`
[INFO] [stdout] 21e31ebdeb117fadb29b73b3b2149e78f0b3941f92c99abf8c6ffe9fa1accf70
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e6a45c2e7220d147e5886ffe601c9445bbd30085860b68b8966d0a771e3bbee6
[INFO] running `Command { std: "docker" "start" "-a" "e6a45c2e7220d147e5886ffe601c9445bbd30085860b68b8966d0a771e3bbee6", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized] target(s) in 0.51s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fallow_cli-3712f0e1f7a5844c)
[INFO] [stdout] 
[INFO] [stdout] running 215 tests
[INFO] [stdout] test explain::tests::check_meta_has_docs_and_rules ... ok
[INFO] [stdout] test explain::tests::check_meta_rule_has_required_fields ... ok
[INFO] [stdout] test explain::tests::check_rules_all_have_docs_path ... ok
[INFO] [stdout] test explain::tests::rule_by_id_finds_dupes_rule ... ok
[INFO] [stdout] test explain::tests::rule_by_id_returns_none_for_unknown ... ok
[INFO] [stdout] test explain::tests::check_rules_no_duplicate_ids ... ok
[INFO] [stdout] test explain::tests::rule_by_id_finds_health_rule ... ok
[INFO] [stdout] test explain::tests::rule_docs_url_format ... ok
[INFO] [stdout] test health_types::tests::category_labels_are_non_empty ... ok
[INFO] [stdout] test health_types::tests::category_labels_are_unique ... ok
[INFO] [stdout] test health_types::tests::confidence_labels_are_non_empty ... ok
[INFO] [stdout] test health_types::tests::category_serializes_as_snake_case ... ok
[INFO] [stdout] test health_types::tests::confidence_serializes_as_snake_case ... ok
[INFO] [stdout] test health_types::tests::effort_numeric_values ... ok
[INFO] [stdout] test health_types::tests::exceeded_threshold_serializes_as_snake_case ... ok
[INFO] [stdout] test health_types::tests::vital_signs_serialization_roundtrip ... ok
[INFO] [stdout] test health_types::tests::vital_signs_snapshot_roundtrip ... ok
[INFO] [stdout] test report::compact::tests::compact_all_issue_types_produce_lines ... ok
[INFO] [stdout] test report::compact::tests::compact_duplicate_export_format ... ok
[INFO] [stdout] test report::compact::tests::compact_empty_results_no_lines ... ok
[INFO] [stdout] test explain::tests::dupes_meta_has_metrics ... ok
[INFO] [stdout] test health_types::tests::refactoring_target_skips_empty_factors ... ok
[INFO] [stdout] test health_types::tests::health_report_skips_empty_collections ... ok
[INFO] [stdout] test explain::tests::rule_by_id_finds_check_rule ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_dep_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unresolved_import_format ... ok
[INFO] [stdout] test explain::tests::health_meta_has_metrics ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_class_member_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_enum_member_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_export_format ... ok
[INFO] [stdout] test health_types::tests::contributing_factor_serializes_correctly ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_devdep_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_file_format ... ok
[INFO] [stdout] test report::compact::tests::compact_strips_root_prefix_from_paths ... ok
[INFO] [stdout] test explain::tests::check_rules_all_have_fallow_prefix ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_type_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unlisted_dep_format ... ok
[INFO] [stdout] test report::human::check::tests::all_issue_types_produce_output_lines ... ok
[INFO] [stdout] test report::human::check::tests::circular_dependencies_show_cycle_with_arrow_and_repeat ... ok
[INFO] [stdout] test report::human::check::tests::deeply_nested_paths_display_correctly ... ok
[INFO] [stdout] test report::human::check::tests::circular_deps_grouped_by_hub ... ok
[INFO] [stdout] test report::human::check::tests::empty_results_produce_no_lines ... ok
[INFO] [stdout] test report::human::check::tests::empty_sections_are_omitted ... ok
[INFO] [stdout] test report::human::check::tests::flat_section_truncates_at_max ... ok
[INFO] [stdout] test report::human::check::tests::grouped_exports_from_different_files_sorted_by_path ... ok
[INFO] [stdout] test report::human::check::tests::grouped_items_from_same_file_share_one_file_header ... ok
[INFO] [stdout] test report::human::check::tests::off_severity_still_shows_section_when_items_present ... ok
[INFO] [stdout] test report::human::check::tests::non_re_exports_have_no_tag ... ok
[INFO] [stdout] test report::human::check::tests::grouped_section_truncates_files ... ok
[INFO] [stdout] test report::human::check::tests::re_exports_are_tagged ... ok
[INFO] [stdout] test report::human::check::tests::duplicate_exports_show_name_and_locations ... ok
[INFO] [stdout] test report::human::check::tests::section_header_shows_correct_count_for_multiple_items ... ok
[INFO] [stdout] test report::human::check::tests::section_footer_contains_docs_link ... ok
[INFO] [stdout] test report::human::check::tests::section_header_uses_bullet_indicator ... ok
[INFO] [stdout] test report::human::check::tests::section_header_formats_for_all_levels ... ok
[INFO] [stdout] test report::human::check::tests::type_only_deps_section_title_includes_suggestion ... ok
[INFO] [stdout] test report::human::check::tests::summary_footer_uses_short_labels ... ok
[INFO] [stdout] test report::human::check::tests::unlisted_deps_show_package_name ... ok
[INFO] [stdout] test report::human::check::tests::unresolved_imports_show_specifier_and_line ... ok
[INFO] [stdout] test report::human::check::tests::section_headers_contain_title_and_count ... ok
[INFO] [stdout] test report::human::check::tests::unused_class_members_show_parent_dot_member ... ok
[INFO] [stdout] test report::human::check::tests::unused_files_show_relative_paths ... ok
[INFO] [stdout] test report::human::check::tests::unused_deps_at_root_show_package_name_only ... ok
[INFO] [stdout] test report::human::check::tests::warn_severity_produces_header_with_bullet ... ok
[INFO] [stdout] test report::human::check::tests::unused_deps_in_workspace_show_workspace_path ... ok
[INFO] [stdout] test report::human::check::tests::unused_enum_members_show_parent_dot_member ... ok
[INFO] [stdout] test report::human::check::tests::unused_exports_grouped_by_file_with_line_and_name ... ok
[INFO] [stdout] test report::human::check::tests::each_section_ends_with_empty_line_separator ... ok
[INFO] [stdout] test report::human::cross_ref::tests::cross_reference_empty_findings_produces_header_and_blanks ... ok
[INFO] [stdout] test report::human::cross_ref::tests::cross_reference_unused_export_reason ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_empty_report_produces_no_output ... ok
[INFO] [stdout] test report::human::cross_ref::tests::cross_reference_unused_type_reason ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_families_show_suggestions ... ok
[INFO] [stdout] test report::human::dupes::tests::mirrored_dirs_below_threshold_not_detected ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_single_group_family_is_suppressed ... ok
[INFO] [stdout] test report::human::dupes::tests::mirrored_dirs_detected ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_suggestion_with_zero_savings_omits_savings_text ... ok
[INFO] [stdout] test report::human::health::tests::health_empty_findings_produces_no_header ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_single_instance_no_plural ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_groups_show_instances_with_line_count ... ok
[INFO] [stdout] test report::human::health::tests::health_findings_grouped_by_file ... ok
[INFO] [stdout] test report::human::health::tests::health_findings_show_function_details ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_multiple_groups_plural ... ok
[INFO] [stdout] test report::human::health::tests::health_shown_vs_total_when_truncated ... ok
[INFO] [stdout] test report::human::perf::tests::performance_output_contains_all_pipeline_stages ... ok
[INFO] [stdout] test report::human::perf::tests::performance_output_omits_cache_detail_when_no_cache_hits ... ok
[INFO] [stdout] test report::human::perf::tests::performance_output_shows_cache_detail_when_cache_hits_nonzero ... ok
[INFO] [stdout] test report::human::tests::format_path_with_directory ... ok
[INFO] [stdout] test report::human::tests::format_path_no_directory ... ok
[INFO] [stdout] test report::human::tests::section_header_uses_bullet_indicator ... ok
[INFO] [stdout] test report::human::tests::strip_ansi_preserves_plain_text ... ok
[INFO] [stdout] test report::human::tests::strip_ansi_handles_empty_string ... ok
[INFO] [stdout] test report::human::tests::strip_ansi_removes_color_codes ... ok
[INFO] [stdout] test report::human::tests::thousands_boundary ... ok
[INFO] [stdout] test report::human::tests::thousands_irregular ... ok
[INFO] [stdout] test report::human::tests::thousands_large ... ok
[INFO] [stdout] test report::human::tests::thousands_small ... ok
[INFO] [stdout] test report::human::tests::thousands_zero ... ok
[INFO] [stdout] test report::json::tests::json_all_issue_type_arrays_present_in_empty_results ... ok
[INFO] [stdout] test report::json::tests::json_duplicate_export_contains_locations ... ok
[INFO] [stdout] test report::json::tests::json_circular_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_elapsed_ms_large_duration ... ok
[INFO] [stdout] test report::json::tests::json_elapsed_ms_sub_millisecond_truncated ... ok
[INFO] [stdout] test report::json::tests::json_empty_results_produce_valid_structure ... ok
[INFO] [stdout] test report::json::tests::json_elapsed_ms_zero_duration ... ok
[INFO] [stdout] test report::json::tests::json_empty_results_round_trips_through_string ... ok
[INFO] [stdout] test report::json::tests::json_full_sample_results_total_issues_correct ... ok
[INFO] [stdout] test report::json::tests::json_full_sample_no_absolute_paths_in_output ... ok
[INFO] [stdout] test report::json::tests::json_output_has_metadata_fields ... ok
[INFO] [stdout] test report::human::dupes::tests::single_instance_clone_group_no_connectors ... ok
[INFO] [stdout] test report::json::tests::json_metadata_fields_appear_first ... ok
[INFO] [stdout] test report::json::tests::json_multiple_unused_files ... ok
[INFO] [stdout] test report::json::tests::json_output_is_deterministic ... ok
[INFO] [stdout] test report::json::tests::json_path_outside_root_not_stripped ... ok
[INFO] [stdout] test report::json::tests::json_output_includes_issue_arrays ... ok
[INFO] [stdout] test report::json::tests::json_results_fields_do_not_shadow_metadata ... ok
[INFO] [stdout] test report::json::tests::json_paths_are_relative_to_root ... ok
[INFO] [stdout] test report::json::tests::json_strips_root_from_duplicate_export_locations ... ok
[INFO] [stdout] test report::json::tests::json_re_export_flagged_correctly ... ok
[INFO] [stdout] test report::json::tests::json_schema_version_is_3 ... ok
[INFO] [stdout] test report::json::tests::json_strips_root_from_nested_locations ... ok
[INFO] [stdout] test report::json::tests::json_strips_root_from_circular_dependency_files ... ok
[INFO] [stdout] test report::json::tests::json_type_only_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_serializes_to_valid_json ... ok
[INFO] [stdout] test report::json::tests::json_unlisted_dependency_contains_import_sites ... ok
[INFO] [stdout] test report::json::tests::json_total_issues_matches_results ... ok
[INFO] [stdout] test report::json::tests::json_unresolved_import_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_class_member_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_dev_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_type_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_export_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_version_matches_cargo_pkg_version ... ok
[INFO] [stdout] test report::json::tests::json_unused_file_contains_path ... ok
[INFO] [stdout] test report::json::tests::json_unused_optional_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_enum_member_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_deeply_nested_array_of_objects ... ok
[INFO] [stdout] test report::human::tests::section_header_formats_for_all_levels ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_leaves_non_matching_string ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_recurses_into_arrays ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_recurses_into_nested_objects ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_leaves_numbers_and_booleans ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_empty_no_findings ... ok
[INFO] [stdout] test report::markdown::tests::duplication_markdown_contains_groups ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_handles_empty_string_after_strip ... ok
[INFO] [stdout] test report::markdown::tests::duplication_markdown_contains_families ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_table_format ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_with_targets ... ok
[INFO] [stdout] test report::markdown::tests::markdown_contains_all_sections ... ok
[INFO] [stdout] test report::markdown::tests::markdown_contains_header_with_count ... ok
[INFO] [stdout] test report::markdown::tests::markdown_empty_results_no_issues ... ok
[INFO] [stdout] test report::markdown::tests::markdown_escapes_backticks_in_export_names ... ok
[INFO] [stdout] test report::markdown::tests::markdown_escapes_backticks_in_package_names ... ok
[INFO] [stdout] test report::markdown::tests::markdown_re_export_tagged ... ok
[INFO] [stdout] test report::markdown::tests::markdown_strips_root_prefix ... ok
[INFO] [stdout] test report::markdown::tests::markdown_single_issue_no_plural ... ok
[INFO] [stdout] test report::markdown::tests::markdown_type_only_dep_format ... ok
[INFO] [stdout] test report::markdown::tests::markdown_unused_dep_format ... ok
[INFO] [stdout] test report::markdown::tests::markdown_unused_export_grouped_by_file ... ok
[INFO] [stdout] test report::markdown::tests::markdown_unused_file_format ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_cyclomatic_only ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_cognitive_only ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_empty_no_results ... ok
[INFO] [stdout] test report::sarif::tests::sarif_declares_all_rules ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_on_string_value ... ok
[INFO] [stdout] test report::markdown::tests::duplication_markdown_empty ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_no_marker_when_below_threshold ... ok
[INFO] [stdout] test report::markdown::tests::markdown_circular_dep_format ... ok
[INFO] [stdout] test report::sarif::tests::sarif_all_issue_types_produce_results ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_both_thresholds ... ok
[INFO] [stdout] test report::sarif::tests::sarif_has_required_top_level_fields ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unlisted_dependency_points_to_import_site ... ok
[INFO] [stdout] test report::sarif::tests::sarif_has_tool_driver_info ... ok
[INFO] [stdout] test report::sarif::tests::sarif_dependency_issues_point_to_package_json ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unused_file_result ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unresolved_import_is_error_level ... ok
[INFO] [stdout] test report::sarif::tests::sarif_duplicate_export_emits_one_result_per_location ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unused_export_includes_region ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_deep_monorepo ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_identical_files ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_no_dirs ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_shared_dir ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_no_shared ... ok
[INFO] [stdout] test report::sarif::tests::sarif_empty_results_no_results_entries ... ok
[INFO] [stdout] test report::tests::level_is_copy ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_partial_shared ... ok
[INFO] [stdout] test report::tests::normalize_uri_backslashes_replaced ... ok
[INFO] [stdout] test report::tests::normalize_uri_catch_all_route ... ok
[INFO] [stdout] test report::tests::normalize_uri_empty_string ... ok
[INFO] [stdout] test report::tests::normalize_uri_mixed_slashes ... ok
[INFO] [stdout] test report::tests::normalize_uri_forward_slashes_unchanged ... ok
[INFO] [stdout] test report::tests::normalize_uri_optional_catch_all_route ... ok
[INFO] [stdout] test report::tests::normalize_uri_path_with_spaces ... ok
[INFO] [stdout] test report::tests::normalize_uri_single_bracket_pair ... ok
[INFO] [stdout] test report::tests::relative_path_at_root_returns_empty_or_file ... ok
[INFO] [stdout] test report::tests::relative_path_deeply_nested ... ok
[INFO] [stdout] test report::tests::relative_path_identical_paths_returns_empty ... ok
[INFO] [stdout] test report::tests::relative_path_returns_full_path_when_no_prefix ... ok
[INFO] [stdout] test report::tests::relative_path_strips_root_prefix ... ok
[INFO] [stdout] test report::tests::relative_uri_at_root_file ... ok
[INFO] [stdout] test report::tests::relative_uri_combines_stripping_and_encoding ... ok
[INFO] [stdout] test report::tests::relative_uri_encodes_brackets ... ok
[INFO] [stdout] test report::tests::relative_uri_encodes_nested_dynamic_routes ... ok
[INFO] [stdout] test report::tests::relative_uri_no_common_prefix_returns_full ... ok
[INFO] [stdout] test report::tests::relative_uri_produces_forward_slash_path ... ok
[INFO] [stdout] test report::tests::severity_error_maps_to_level_error ... ok
[INFO] [stdout] test report::tests::severity_off_maps_to_level_info ... ok
[INFO] [stdout] test report::tests::severity_to_level_is_const_evaluable ... ok
[INFO] [stdout] test report::tests::severity_warn_maps_to_level_warn ... ok
[INFO] [stdout] test report::tests::relative_path_partial_name_match_not_stripped ... ok
[INFO] [stdout] test report::tests::normalize_uri_multiple_dynamic_segments ... ok
[INFO] [stdout] test report::tests::normalize_uri_no_special_chars ... ok
[INFO] [stdout] test report::tests::normalize_uri_only_backslashes ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/fallow-000392e97bb6ae1a)
[INFO] [stdout] test report::sarif::tests::sarif_file_write_produces_valid_sarif ... ok
[INFO] [stdout] test report::sarif::tests::sarif_serializes_to_valid_json ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 215 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 614 tests
[INFO] [stdout] test baseline::tests::baseline_from_results_captures_all_fields ... ok
[INFO] [stdout] test baseline::tests::baseline_serialization_roundtrip ... ok
[INFO] [stdout] test baseline::tests::circular_dep_key_different_files_different_keys ... ok
[INFO] [stdout] test baseline::tests::clone_group_key_is_deterministic ... ok
[INFO] [stdout] test baseline::tests::circular_dep_key_is_order_independent ... ok
[INFO] [stdout] test baseline::tests::circular_dep_key_three_files_order_independent ... ok
[INFO] [stdout] test baseline::tests::filter_new_clone_groups_keeps_new_groups ... ok
[INFO] [stdout] test baseline::tests::clone_group_key_is_sorted ... ok
[INFO] [stdout] test baseline::tests::filter_keeps_new_issues_not_in_baseline ... ok
[INFO] [stdout] test baseline::tests::filter_new_exports_by_file_and_name ... ok
[INFO] [stdout] test baseline::tests::filter_removes_baseline_issues ... ok
[INFO] [stdout] test baseline::tests::filter_new_clone_groups_removes_baseline ... ok
[INFO] [stdout] test baseline::tests::filter_with_empty_baseline_keeps_all ... ok
[INFO] [stdout] test baseline::tests::recompute_stats_zero_total_lines ... ok
[INFO] [stdout] test baseline::tests::health_baseline_empty_keeps_all ... ok
[INFO] [stdout] test baseline::tests::duplication_baseline_roundtrip ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_scopes_exports_and_types ... ok
[INFO] [stdout] test baseline::tests::health_baseline_roundtrip ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_scopes_type_only_dependencies ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_scopes_unlisted_deps_by_importer ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_scopes_dependencies_to_ws_package_json ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_scopes_enum_and_class_members ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_all_off_clears_everything ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_keeps_files_under_ws_root ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_default_error_preserves_all ... ok
[INFO] [stdout] test check::filtering::tests::filter_to_workspace_drops_duplicate_exports_below_two_locations ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_off_clears_that_issue_type ... ok
[INFO] [stdout] test check::rules::tests::error_severity_with_issues_returns_true ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_warn_preserves_issues ... ok
[INFO] [stdout] test check::rules::tests::empty_results_no_error_issues ... ok
[INFO] [stdout] test baseline::tests::health_baseline_filters_known_findings ... ok
[INFO] [stdout] test baseline::tests::recompute_stats_after_filtering ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_with_override_preserves_non_matching_files ... ok
[INFO] [stdout] test check::rules::tests::has_error_with_override_non_matching_file_still_error ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_with_override_filters_matching_files ... ok
[INFO] [stdout] test check::tests::apply_unused_deps_filter_keeps_both_dep_types ... ok
[INFO] [stdout] test check::tests::apply_unused_files_filter_keeps_only_unused_files ... ok
[INFO] [stdout] test check::tests::each_filter_flag_registers_as_active ... ok
[INFO] [stdout] test check::tests::no_filters_means_none_active ... ok
[INFO] [stdout] test check::tests::apply_no_active_filters_preserves_all_results ... ok
[INFO] [stdout] test check::rules::tests::mixed_severity_returns_true_for_error_with_issues ... ok
[INFO] [stdout] test check::tests::no_trace_options_means_none_active ... ok
[INFO] [stdout] test check::rules::tests::off_severity_with_issues_returns_false ... ok
[INFO] [stdout] test check::rules::tests::warn_severity_with_issues_returns_false ... ok
[INFO] [stdout] test check::tests::performance_flag_is_active ... ok
[INFO] [stdout] test check::tests::apply_multiple_filters_keeps_selected_types ... ok
[INFO] [stdout] test check::tests::single_filter_is_active ... ok
[INFO] [stdout] test check::tests::trace_dependency_is_active ... ok
[INFO] [stdout] test dupes::tests::baseline_empty_json_object_uses_defaults ... ok
[INFO] [stdout] test dupes::tests::baseline_filters_matching_groups_completely ... ok
[INFO] [stdout] test check::tests::trace_export_is_active ... ok
[INFO] [stdout] test check::tests::trace_file_is_active ... ok
[INFO] [stdout] test dupes::tests::baseline_keeps_groups_not_in_baseline ... ok
[INFO] [stdout] test dupes::tests::build_config_cross_language_both_false ... ok
[INFO] [stdout] test dupes::tests::build_config_cross_language_cli_true_overrides_toml_false ... ok
[INFO] [stdout] test check::rules::tests::has_error_with_override_per_file_resolution ... ok
[INFO] [stdout] test dupes::tests::build_config_inherits_normalization_from_toml ... ok
[INFO] [stdout] test dupes::tests::build_config_maps_all_modes ... ok
[INFO] [stdout] test dupes::tests::build_config_inherits_ignore_from_toml ... ok
[INFO] [stdout] test dupes::tests::baseline_save_load_round_trip ... ok
[INFO] [stdout] test dupes::tests::build_config_cross_language_toml_true_with_cli_false ... ok
[INFO] [stdout] test dupes::tests::build_config_uses_cli_skip_local ... ok
[INFO] [stdout] test dupes::tests::build_config_always_enabled ... ok
[INFO] [stdout] test dupes::tests::build_config_uses_cli_threshold ... ok
[INFO] [stdout] test dupes::tests::families_rebuilt_after_baseline_filter ... ok
[INFO] [stdout] test dupes::tests::build_config_uses_cli_min_tokens_and_lines ... ok
[INFO] [stdout] test dupes::tests::filter_by_changed_files_empty_changed_set_removes_all ... ok
[INFO] [stdout] test dupes::tests::filter_by_changed_files_partial_group_retention ... ok
[INFO] [stdout] test dupes::tests::filter_by_changed_files_removes_groups_with_no_changed_instances ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_line_zero ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_file_with_colons_in_path ... ok
[INFO] [stdout] test dupes::tests::filter_by_changed_files_retains_groups_with_at_least_one_changed_instance ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_non_numeric_line ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_large_line_number ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_valid ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_empty_line ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_windows_path_with_drive ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_no_colon ... ok
[INFO] [stdout] test dupes::tests::recompute_stats_computes_all_fields_from_groups ... ok
[INFO] [stdout] test dupes::tests::recompute_stats_counts_tokens_per_instance ... ok
[INFO] [stdout] test dupes::tests::recompute_stats_basic ... ok
[INFO] [stdout] test dupes::tests::parse_trace_spec_negative_line ... ok
[INFO] [stdout] test dupes::tests::recompute_stats_zero_total_lines_no_division_by_zero ... ok
[INFO] [stdout] test dupes::tests::recompute_stats_deduplicates_overlapping_lines_in_same_file ... ok
[INFO] [stdout] test dupes::tests::stats_recomputed_after_changed_since_filter ... ok
[INFO] [stdout] test dupes::tests::threshold_zero_duplication_with_positive_threshold ... ok
[INFO] [stdout] test dupes::tests::recompute_stats_empty_report ... ok
[INFO] [stdout] test dupes::tests::threshold_exceeded ... ok
[INFO] [stdout] test dupes::tests::threshold_just_above ... ok
[INFO] [stdout] test dupes::tests::threshold_just_below ... ok
[INFO] [stdout] test dupes::tests::threshold_zero_never_fails ... ok
[INFO] [stdout] test dupes::tests::threshold_negative_never_fails ... ok
[INFO] [stdout] test explain::tests::check_meta_has_docs_and_rules ... ok
[INFO] [stdout] test dupes::tests::threshold_exactly_at_boundary ... ok
[INFO] [stdout] test explain::tests::check_rules_all_have_fallow_prefix ... ok
[INFO] [stdout] test explain::tests::rule_by_id_finds_check_rule ... ok
[INFO] [stdout] test explain::tests::check_meta_rule_has_required_fields ... ok
[INFO] [stdout] test explain::tests::check_rules_no_duplicate_ids ... ok
[INFO] [stdout] test explain::tests::dupes_meta_has_metrics ... ok
[INFO] [stdout] test explain::tests::health_meta_has_metrics ... ok
[INFO] [stdout] test explain::tests::rule_by_id_finds_health_rule ... ok
[INFO] [stdout] test fix::deps::tests::dependency_fix_empty_results_returns_early ... ok
[INFO] [stdout] test fix::deps::tests::dependency_fix_dry_run_does_not_modify_package_json ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_dry_run_does_not_modify_file ... ok
[INFO] [stdout] test explain::tests::rule_by_id_returns_none_for_unknown ... ok
[INFO] [stdout] test explain::tests::rule_docs_url_format ... ok
[INFO] [stdout] test explain::tests::rule_by_id_finds_dupes_rule ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_handles_members_with_values ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_preserves_crlf_line_endings ... ok
[INFO] [stdout] test fix::deps::tests::dependency_fix_removes_unused_dep_from_package_json ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_preserves_indentation ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_removes_all_members_leaves_empty_body ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_removes_multiple_members_from_same_enum ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_removes_last_member_of_multi_line_enum ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_removes_single_member_from_multi_member_enum ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_skips_line_without_member_name ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_skips_out_of_bounds_line ... ok
[INFO] [stdout] test check::rules::tests::apply_rules_off_each_type_individually ... ok
[INFO] [stdout] test fix::enum_members::tests::single_line_remove_first_member ... ok
[INFO] [stdout] test fix::enum_members::tests::single_line_remove_last_member ... ok
[INFO] [stdout] test fix::enum_members::tests::single_line_remove_member_with_string_value ... ok
[INFO] [stdout] test fix::enum_members::tests::single_line_remove_middle_member ... ok
[INFO] [stdout] test fix::enum_members::tests::single_line_remove_member_with_value ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_handles_numeric_values ... ok
[INFO] [stdout] test explain::tests::check_rules_all_have_docs_path ... ok
[INFO] [stdout] test fix::exports::tests::dry_run_export_fix_does_not_modify_file ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_skips_path_outside_project_root ... ok
[INFO] [stdout] test fix::enum_members::tests::single_line_remove_only_member ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_single_line_with_values ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_single_line_enum ... ok
[INFO] [stdout] test fix::exports::tests::actual_export_fix_removes_export_keyword ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_removes_default_from_class ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_skips_default_expression_export ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_removes_default_from_abstract_class ... ok
[INFO] [stdout] test fix::enum_members::tests::enum_fix_single_line_removes_all_members ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_preserves_crlf_line_endings ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_preserves_indentation ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_removes_default_from_async_function ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_skips_out_of_bounds_line ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_handles_multiple_exports_in_same_file ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_removes_default_from_function ... ok
[INFO] [stdout] test health::hotspots::tests::excluded_no_filters ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_skips_path_outside_project_root ... ok
[INFO] [stdout] test health::hotspots::tests::excluded_matching_glob ... ok
[INFO] [stdout] test health::hotspots::tests::excluded_non_matching_glob ... ok
[INFO] [stdout] test health::hotspots::tests::excluded_workspace_filter_match ... ok
[INFO] [stdout] test health::hotspots::tests::excluded_workspace_filter_mismatch ... ok
[INFO] [stdout] test fix::exports::tests::export_fix_skips_line_not_starting_with_export ... ok
[INFO] [stdout] test health::hotspots::tests::hotspot_score_both_maxima_zero ... ok
[INFO] [stdout] test health::hotspots::tests::hotspot_score_equal_normalization ... ok
[INFO] [stdout] test health::hotspots::tests::hotspot_score_max_weighted_zero ... ok
[INFO] [stdout] test fix::io::tests::atomic_write_overwrites_existing_file ... ok
[INFO] [stdout] test health::hotspots::tests::normalization_maxima_all_zeros ... ok
[INFO] [stdout] test health::hotspots::tests::normalization_maxima_below_min_commits ... ok
[INFO] [stdout] test health::hotspots::tests::normalization_maxima_single_file ... ok
[INFO] [stdout] test health::scoring::tests::aggregate_complexity_empty_module ... ok
[INFO] [stdout] test health::scoring::tests::aggregate_complexity_multiple_functions ... ok
[INFO] [stdout] test health::scoring::tests::aggregate_complexity_single_function ... ok
[INFO] [stdout] test health::scoring::tests::complexity_density_normal ... ok
[INFO] [stdout] test health::scoring::tests::complexity_density_high ... ok
[INFO] [stdout] test health::scoring::tests::complexity_density_zero_lines ... ok
[INFO] [stdout] test health::scoring::tests::count_unused_exports_empty ... ok
[INFO] [stdout] test health::scoring::tests::count_unused_exports_groups_by_path ... ok
[INFO] [stdout] test health::scoring::tests::dead_code_ratio_all_type_only_exports ... ok
[INFO] [stdout] test health::hotspots::tests::hotspot_score_half_values ... ok
[INFO] [stdout] test health::scoring::tests::dead_code_ratio_all_unused_file ... ok
[INFO] [stdout] test health::scoring::tests::dead_code_ratio_no_exports ... ok
[INFO] [stdout] test health::hotspots::tests::hotspot_score_max_density_zero ... ok
[INFO] [stdout] test health::hotspots::tests::normalization_maxima_empty_input ... ok
[INFO] [stdout] test health::scoring::tests::dead_code_ratio_mix ... ok
[INFO] [stdout] test health::scoring::tests::maintainability_dead_file_penalty ... ok
[INFO] [stdout] test health::scoring::tests::maintainability_clamped_at_zero ... ok
[INFO] [stdout] test health::scoring::tests::maintainability_fan_out_capped_at_15 ... ok
[INFO] [stdout] test fix::io::tests::atomic_write_creates_file_with_content ... ok
[INFO] [stdout] test fix::io::tests::atomic_write_no_leftover_temp_on_success ... ok
[INFO] [stdout] test health::targets::tests::efficiency_surfaces_quick_wins ... ok
[INFO] [stdout] test health::targets::tests::rule_dead_code_gate_too_few_exports ... ok
[INFO] [stdout] test health::targets::tests::rule_circular_dep_low_fan_in_fallback ... ok
[INFO] [stdout] test health::targets::tests::rule_circular_dep_high_fan_in ... ok
[INFO] [stdout] test health::targets::tests::rule_extract_complex_functions ... ok
[INFO] [stdout] test health::targets::tests::rule_extract_dependencies_skipped_for_entry ... ok
[INFO] [stdout] test health::targets::tests::rule_no_match_clean_file ... ok
[INFO] [stdout] test health::targets::tests::rule_split_high_impact ... ok
[INFO] [stdout] test health::targets::tests::rule_remove_dead_code ... ok
[INFO] [stdout] test health::targets::tests::rule_urgent_churn_complexity ... ok
[INFO] [stdout] test health::targets::tests::target_priority_adapts_to_thresholds ... ok
[INFO] [stdout] test health::targets::tests::target_priority_all_zero ... ok
[INFO] [stdout] test health::targets::tests::target_priority_complexity_density_weight ... ok
[INFO] [stdout] test health::targets::tests::target_priority_dead_code_weight ... ok
[INFO] [stdout] test health::targets::tests::target_priority_fan_out_weight ... ok
[INFO] [stdout] test health::targets::tests::target_priority_hotspot_weight ... ok
[INFO] [stdout] test health::targets::tests::target_priority_fan_in_weight ... ok
[INFO] [stdout] test health::targets::tests::target_priority_max_all_inputs ... ok
[INFO] [stdout] test health::targets::tests::targets_sorted_by_efficiency_descending ... ok
[INFO] [stdout] test health::targets::tests::thresholds_adapt_to_large_project ... ok
[INFO] [stdout] test health::targets::tests::thresholds_empty_scores_use_floors ... ok
[INFO] [stdout] test health::targets::tests::thresholds_floors_prevent_degenerate_values ... ok
[INFO] [stdout] test health_types::tests::category_labels_are_non_empty ... ok
[INFO] [stdout] test health_types::tests::category_serializes_as_snake_case ... ok
[INFO] [stdout] test health_types::tests::confidence_labels_are_non_empty ... ok
[INFO] [stdout] test health_types::tests::category_labels_are_unique ... ok
[INFO] [stdout] test health_types::tests::confidence_serializes_as_snake_case ... ok
[INFO] [stdout] test health_types::tests::effort_numeric_values ... ok
[INFO] [stdout] test health_types::tests::exceeded_threshold_serializes_as_snake_case ... ok
[INFO] [stdout] test health_types::tests::contributing_factor_serializes_correctly ... ok
[INFO] [stdout] test health_types::tests::health_report_skips_empty_collections ... ok
[INFO] [stdout] test health_types::tests::refactoring_target_skips_empty_factors ... ok
[INFO] [stdout] test health_types::tests::vital_signs_serialization_roundtrip ... ok
[INFO] [stdout] test health_types::tests::vital_signs_snapshot_roundtrip ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_all_unmappable_fields ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_basic ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_empty_ignore_array ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_complex_full_config ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_empty_object ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_ignore_patterns ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_ignore_single_string ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_mode_mild ... ok
[INFO] [stdout] test health::scoring::tests::maintainability_perfect_score ... ok
[INFO] [stdout] test health::targets::tests::confidence_mapping ... ok
[INFO] [stdout] test health::targets::tests::rule_extract_dependencies_not_entry ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_mode_unknown ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_non_numeric_min_lines_ignored ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_mode_weak_warns ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_non_numeric_min_tokens_ignored ... ok
[INFO] [stdout] test health::scoring::tests::maintainability_fan_out_is_logarithmic ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_non_object_root_warns ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_skip_local_false ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_threshold_integer ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_unmappable_fields_generate_warnings ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_mode_strict ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_skip_local ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_unmappable_without_suggestions ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_threshold_non_numeric_ignored ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_all_regex_ignore_deps_no_output ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_unmappable_with_suggestions ... ok
[INFO] [stdout] test migrate::jscpd::tests::migrate_jscpd_mode_non_string_ignored ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_empty_entry_array ... ok
[INFO] [stdout] test health::scoring::tests::maintainability_formula_correct ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_all_rule_mappings ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_complex_full_config ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_exclude_all_mappable_types ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_exclude_unmappable_warns ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_empty_ignore_array ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_multiple_unmappable_fields_with_suggestions ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_entry_string ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_ignore_deps_single_string ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_include_unmappable_warns ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_multiple_plugin_keys_warn ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_non_object_root_warns ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_regex_ignore_deps_skipped ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_rules_non_object_ignored ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_unmappable_without_suggestion ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_plugin_keys_generate_warnings ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_rules_non_string_severity_ignored ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_rules_then_include_rules_take_precedence ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_with_exclude ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_rules_unknown_key_not_in_unmappable_silently_ignored ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_rules_unmappable_warns ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_unmappable_fields_generate_warnings ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_with_ignore_dependencies ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_with_ignore_patterns ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_with_include ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_workspaces_object_warns ... ok
[INFO] [stdout] test migrate::knip_fields::tests::exclude_empty_slice ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_minimal_knip_json ... ok
[INFO] [stdout] test migrate::knip_fields::tests::exclude_single_known_type ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_workspaces_non_object_no_warning ... ok
[INFO] [stdout] test migrate::knip::tests::migrate_knip_with_rules ... ok
[INFO] [stdout] test migrate::knip_fields::tests::exclude_multiple_types ... ok
[INFO] [stdout] test migrate::knip_fields::tests::exclude_unmappable_type_warns ... ok
[INFO] [stdout] test migrate::knip_fields::tests::ignore_deps_all_regex_no_config_key ... ok
[INFO] [stdout] test migrate::knip_fields::tests::ignore_deps_non_string_value_skipped ... ok
[INFO] [stdout] test migrate::knip_fields::tests::ignore_deps_plain_strings ... ok
[INFO] [stdout] test migrate::knip_fields::tests::ignore_deps_single_string ... ok
[INFO] [stdout] test migrate::knip_fields::tests::rules_empty_object ... ok
[INFO] [stdout] test migrate::knip_fields::tests::include_respects_existing_rules ... ok
[INFO] [stdout] test migrate::knip_fields::tests::rules_unknown_unmappable_generates_warning ... ok
[INFO] [stdout] test migrate::knip_fields::tests::include_unmappable_type_warns ... ok
[INFO] [stdout] test migrate::knip_fields::tests::ignore_deps_regex_filtered_with_warning ... ok
[INFO] [stdout] test migrate::knip_fields::tests::simple_field_absent ... ok
[INFO] [stdout] test migrate::knip_fields::tests::include_known_types_sets_others_to_off ... ok
[INFO] [stdout] test migrate::knip_fields::tests::rules_known_mapping ... ok
[INFO] [stdout] test migrate::knip_fields::tests::rules_non_object_is_noop ... ok
[INFO] [stdout] test migrate::knip_fields::tests::rules_unknown_not_in_unmappable_silently_ignored ... ok
[INFO] [stdout] test migrate::knip_fields::tests::simple_field_empty_array_skipped ... ok
[INFO] [stdout] test migrate::knip_fields::tests::simple_field_non_string_non_array_skipped ... ok
[INFO] [stdout] test migrate::knip_fields::tests::simple_field_present_array ... ok
[INFO] [stdout] test migrate::knip_fields::tests::simple_field_renames_key ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_plugin_keys_empty_object_no_warnings ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_unmappable_fields_suggestion_presence ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_unmappable_fields_unrelated_keys_no_warnings ... ok
[INFO] [stdout] test migrate::knip_fields::tests::simple_field_present_string ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_unmappable_fields_detects_known_fields ... ok
[INFO] [stdout] test migrate::knip_tables::tests::plugin_keys_are_sorted ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_plugin_keys_detects_plugins ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_unmappable_fields_empty_object_no_warnings ... ok
[INFO] [stdout] test migrate::knip_fields::tests::warn_plugin_keys_non_plugin_keys_no_warnings ... ok
[INFO] [stdout] test migrate::knip_tables::tests::plugin_keys_contains_known_plugins ... ok
[INFO] [stdout] test migrate::knip_tables::tests::plugin_keys_do_not_overlap_with_unmappable_fields ... ok
[INFO] [stdout] test migrate::knip_tables::tests::rule_map_has_no_duplicate_knip_keys ... ok
[INFO] [stdout] test migrate::knip_tables::tests::rule_map_is_non_empty ... ok
[INFO] [stdout] test migrate::knip_tables::tests::plugin_keys_have_no_duplicates ... ok
[INFO] [stdout] test migrate::knip_tables::tests::unmappable_fields_do_not_overlap_with_rule_map_keys ... ok
[INFO] [stdout] test migrate::knip_tables::tests::unmappable_fields_is_non_empty ... ok
[INFO] [stdout] test migrate::knip_tables::tests::unmappable_issue_types_do_not_overlap_with_rule_map_keys ... ok
[INFO] [stdout] test migrate::knip_tables::tests::plugin_keys_is_non_empty ... ok
[INFO] [stdout] test migrate::knip_tables::tests::rule_map_has_no_empty_keys_or_values ... ok
[INFO] [stdout] test migrate::knip_tables::tests::unmappable_fields_have_non_empty_names_and_messages ... ok
[INFO] [stdout] test migrate::knip_tables::tests::rule_map_has_no_duplicate_fallow_values ... ok
[INFO] [stdout] test migrate::knip_tables::tests::unmappable_issue_types_is_non_empty ... ok
[INFO] [stdout] test migrate::tests::auto_detect_no_configs_found ... ok
[INFO] [stdout] test migrate::tests::auto_detect_package_json_jscpd ... ok
[INFO] [stdout] test migrate::tests::auto_detect_knip_json_takes_precedence_over_knip_jsonc ... ok
[INFO] [stdout] test migrate::tests::auto_detect_knip_ts_skipped_with_warning ... ok
[INFO] [stdout] test migrate::tests::auto_detect_package_json_knip ... ok
[INFO] [stdout] test migrate::tests::auto_detect_package_json_with_both_knip_and_jscpd ... ok
[INFO] [stdout] test migrate::tests::auto_detect_standalone_knip_prevents_package_json_knip ... ok
[INFO] [stdout] test migrate::tests::auto_detect_standalone_jscpd_prevents_package_json_jscpd ... ok
[INFO] [stdout] test migrate::tests::indent_json_value_deeply_nested_object ... ok
[INFO] [stdout] test migrate::tests::indent_json_value_array ... ok
[INFO] [stdout] test migrate::tests::indent_json_value_empty_string ... ok
[INFO] [stdout] test migrate::tests::indent_json_value_single_line_unchanged ... ok
[INFO] [stdout] test migrate::tests::indent_json_value_multiline_indents_continuation_lines ... ok
[INFO] [stdout] test migrate::tests::jsonc_comments_stripped ... ok
[INFO] [stdout] test migrate::tests::jsonc_full_roundtrip_with_all_fields ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_deserializes_as_valid_config ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_empty_config ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_has_schema ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_has_source_comment ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_only_rules ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_keys_ordered_correctly ... ok
[INFO] [stdout] test migrate::tests::jsonc_output_with_multiple_sources ... ok
[INFO] [stdout] test migrate::tests::load_json_or_jsonc_file_not_found ... ok
[INFO] [stdout] test migrate::tests::load_json_or_jsonc_invalid_json_and_invalid_jsonc ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_knip_heuristic_via_ignore_dependencies ... ok
[INFO] [stdout] test migrate::tests::migrate_both_knip_and_jscpd ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_jscpd_heuristic_via_mode ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_knip_heuristic_via_rules_field ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_jscpd_json ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_knip_ts_rejected ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_knip_json ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_nonexistent_path ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_package_json_with_both_knip_and_jscpd ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_package_json_with_only_jscpd ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_unrecognized_file_detected_as_jscpd ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_package_json_without_knip_or_jscpd ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_unrecognized_file_detected_as_knip ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_array_value ... ok
[INFO] [stdout] test migrate::tests::migrate_from_file_unrecognized_file_unknown_format ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_bool ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_empty_array ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_non_string_non_array ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_mixed_array_filters_non_strings ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_string_value ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_object ... ok
[INFO] [stdout] test migrate::tests::toml_output_duplicates_section ... ok
[INFO] [stdout] test migrate::tests::toml_output_empty_config ... ok
[INFO] [stdout] test migrate::tests::toml_output_empty_rules_omits_section ... ok
[INFO] [stdout] test migrate::tests::toml_output_deserializes_as_valid_config ... ok
[INFO] [stdout] test migrate::tests::toml_output_has_source_comment ... ok
[INFO] [stdout] test migrate::tests::toml_full_roundtrip_with_duplicates ... ok
[INFO] [stdout] test migrate::tests::string_or_array_with_null ... ok
[INFO] [stdout] test migrate::tests::toml_output_duplicates_string_and_array_values ... ok
[INFO] [stdout] test migrate::tests::toml_output_empty_duplicates_omits_section ... ok
[INFO] [stdout] test migrate::tests::toml_output_only_ignore_dependencies ... ok
[INFO] [stdout] test migrate::tests::toml_output_with_multiple_sources ... ok
[INFO] [stdout] test migrate::tests::toml_output_rules_section ... ok
[INFO] [stdout] test migrate::tests::toml_output_only_ignore_patterns ... ok
[INFO] [stdout] test migrate::tests::warning_display_with_suggestion ... ok
[INFO] [stdout] test report::compact::tests::compact_empty_results_no_lines ... ok
[INFO] [stdout] test report::compact::tests::compact_duplicate_export_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unresolved_import_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_class_member_format ... ok
[INFO] [stdout] test report::compact::tests::compact_all_issue_types_produce_lines ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_dep_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_devdep_format ... ok
[INFO] [stdout] test migrate::tests::warning_display_without_suggestion ... ok
[INFO] [stdout] test report::compact::tests::compact_unlisted_dep_format ... ok
[INFO] [stdout] test report::compact::tests::compact_strips_root_prefix_from_paths ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_enum_member_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_type_format ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_export_format ... ok
[INFO] [stdout] test report::human::check::tests::circular_deps_grouped_by_hub ... ok
[INFO] [stdout] test report::human::check::tests::circular_dependencies_show_cycle_with_arrow_and_repeat ... ok
[INFO] [stdout] test report::compact::tests::compact_unused_file_format ... ok
[INFO] [stdout] test report::human::check::tests::duplicate_exports_show_name_and_locations ... ok
[INFO] [stdout] test report::human::check::tests::empty_results_produce_no_lines ... ok
[INFO] [stdout] test report::human::check::tests::deeply_nested_paths_display_correctly ... ok
[INFO] [stdout] test report::human::check::tests::all_issue_types_produce_output_lines ... ok
[INFO] [stdout] test report::human::check::tests::each_section_ends_with_empty_line_separator ... ok
[INFO] [stdout] test report::human::check::tests::empty_sections_are_omitted ... ok
[INFO] [stdout] test report::human::check::tests::grouped_section_truncates_files ... ok
[INFO] [stdout] test report::human::check::tests::flat_section_truncates_at_max ... ok
[INFO] [stdout] test report::human::check::tests::grouped_exports_from_different_files_sorted_by_path ... ok
[INFO] [stdout] test report::human::check::tests::grouped_items_from_same_file_share_one_file_header ... ok
[INFO] [stdout] test report::human::check::tests::non_re_exports_have_no_tag ... ok
[INFO] [stdout] test report::human::check::tests::off_severity_still_shows_section_when_items_present ... ok
[INFO] [stdout] test report::human::check::tests::re_exports_are_tagged ... ok
[INFO] [stdout] test report::human::check::tests::type_only_deps_section_title_includes_suggestion ... ok
[INFO] [stdout] test report::human::check::tests::section_footer_contains_docs_link ... ok
[INFO] [stdout] test report::human::check::tests::section_header_formats_for_all_levels ... ok
[INFO] [stdout] test report::human::check::tests::unlisted_deps_show_package_name ... ok
[INFO] [stdout] test report::human::check::tests::section_header_shows_correct_count_for_multiple_items ... ok
[INFO] [stdout] test report::human::check::tests::section_header_uses_bullet_indicator ... ok
[INFO] [stdout] test report::human::check::tests::section_headers_contain_title_and_count ... ok
[INFO] [stdout] test report::human::check::tests::summary_footer_uses_short_labels ... ok
[INFO] [stdout] test report::human::check::tests::unused_class_members_show_parent_dot_member ... ok
[INFO] [stdout] test report::human::check::tests::unused_deps_in_workspace_show_workspace_path ... ok
[INFO] [stdout] test report::human::cross_ref::tests::cross_reference_empty_findings_produces_header_and_blanks ... ok
[INFO] [stdout] test report::human::check::tests::unresolved_imports_show_specifier_and_line ... ok
[INFO] [stdout] test report::human::check::tests::unused_deps_at_root_show_package_name_only ... ok
[INFO] [stdout] test report::human::check::tests::unused_enum_members_show_parent_dot_member ... ok
[INFO] [stdout] test report::human::cross_ref::tests::cross_reference_unused_export_reason ... ok
[INFO] [stdout] test report::human::check::tests::unused_exports_grouped_by_file_with_line_and_name ... ok
[INFO] [stdout] test report::human::check::tests::unused_files_show_relative_paths ... ok
[INFO] [stdout] test report::human::check::tests::warn_severity_produces_header_with_bullet ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_families_show_suggestions ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_empty_report_produces_no_output ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_multiple_groups_plural ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_single_group_family_is_suppressed ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_single_instance_no_plural ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_suggestion_with_zero_savings_omits_savings_text ... ok
[INFO] [stdout] test report::human::cross_ref::tests::cross_reference_unused_type_reason ... ok
[INFO] [stdout] test report::human::dupes::tests::duplication_groups_show_instances_with_line_count ... ok
[INFO] [stdout] test report::human::health::tests::health_findings_show_function_details ... ok
[INFO] [stdout] test report::human::dupes::tests::mirrored_dirs_below_threshold_not_detected ... ok
[INFO] [stdout] test report::human::dupes::tests::mirrored_dirs_detected ... ok
[INFO] [stdout] test report::human::perf::tests::performance_output_contains_all_pipeline_stages ... ok
[INFO] [stdout] test report::human::dupes::tests::single_instance_clone_group_no_connectors ... ok
[INFO] [stdout] test report::human::health::tests::health_empty_findings_produces_no_header ... ok
[INFO] [stdout] test report::human::health::tests::health_shown_vs_total_when_truncated ... ok
[INFO] [stdout] test report::human::health::tests::health_findings_grouped_by_file ... ok
[INFO] [stdout] test report::human::perf::tests::performance_output_omits_cache_detail_when_no_cache_hits ... ok
[INFO] [stdout] test report::human::perf::tests::performance_output_shows_cache_detail_when_cache_hits_nonzero ... ok
[INFO] [stdout] test report::human::tests::strip_ansi_preserves_plain_text ... ok
[INFO] [stdout] test report::human::tests::format_path_no_directory ... ok
[INFO] [stdout] test report::human::tests::format_path_with_directory ... ok
[INFO] [stdout] test report::human::tests::section_header_formats_for_all_levels ... ok
[INFO] [stdout] test report::human::tests::section_header_uses_bullet_indicator ... ok
[INFO] [stdout] test report::human::tests::strip_ansi_handles_empty_string ... ok
[INFO] [stdout] test report::human::tests::strip_ansi_removes_color_codes ... ok
[INFO] [stdout] test report::human::tests::thousands_boundary ... ok
[INFO] [stdout] test report::human::tests::thousands_irregular ... ok
[INFO] [stdout] test report::human::tests::thousands_large ... ok
[INFO] [stdout] test report::json::tests::json_circular_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_duplicate_export_contains_locations ... ok
[INFO] [stdout] test report::human::tests::thousands_small ... ok
[INFO] [stdout] test report::human::tests::thousands_zero ... ok
[INFO] [stdout] test report::json::tests::json_all_issue_type_arrays_present_in_empty_results ... ok
[INFO] [stdout] test report::json::tests::json_elapsed_ms_large_duration ... ok
[INFO] [stdout] test report::json::tests::json_elapsed_ms_sub_millisecond_truncated ... ok
[INFO] [stdout] test report::json::tests::json_full_sample_results_total_issues_correct ... ok
[INFO] [stdout] test report::json::tests::json_elapsed_ms_zero_duration ... ok
[INFO] [stdout] test report::json::tests::json_full_sample_no_absolute_paths_in_output ... ok
[INFO] [stdout] test report::json::tests::json_empty_results_produce_valid_structure ... ok
[INFO] [stdout] test report::json::tests::json_metadata_fields_appear_first ... ok
[INFO] [stdout] test report::json::tests::json_empty_results_round_trips_through_string ... ok
[INFO] [stdout] test report::json::tests::json_multiple_unused_files ... ok
[INFO] [stdout] test report::json::tests::json_output_has_metadata_fields ... ok
[INFO] [stdout] test report::json::tests::json_results_fields_do_not_shadow_metadata ... ok
[INFO] [stdout] test report::json::tests::json_re_export_flagged_correctly ... ok
[INFO] [stdout] test report::json::tests::json_schema_version_is_3 ... ok
[INFO] [stdout] test report::json::tests::json_output_includes_issue_arrays ... ok
[INFO] [stdout] test report::json::tests::json_output_is_deterministic ... ok
[INFO] [stdout] test report::json::tests::json_path_outside_root_not_stripped ... ok
[INFO] [stdout] test report::json::tests::json_paths_are_relative_to_root ... ok
[INFO] [stdout] test report::json::tests::json_serializes_to_valid_json ... ok
[INFO] [stdout] test report::json::tests::json_strips_root_from_circular_dependency_files ... ok
[INFO] [stdout] test report::json::tests::json_unused_class_member_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_strips_root_from_duplicate_export_locations ... ok
[INFO] [stdout] test report::json::tests::json_strips_root_from_nested_locations ... ok
[INFO] [stdout] test report::json::tests::json_total_issues_matches_results ... ok
[INFO] [stdout] test report::json::tests::json_type_only_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unlisted_dependency_contains_import_sites ... ok
[INFO] [stdout] test report::json::tests::json_unresolved_import_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_dev_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_version_matches_cargo_pkg_version ... ok
[INFO] [stdout] test report::json::tests::json_unused_enum_member_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_export_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::json_unused_file_contains_path ... ok
[INFO] [stdout] test report::json::tests::json_unused_type_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_deeply_nested_array_of_objects ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_handles_empty_string_after_strip ... ok
[INFO] [stdout] test report::json::tests::json_unused_optional_dependency_contains_expected_fields ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_leaves_non_matching_string ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_recurses_into_arrays ... ok
[INFO] [stdout] test report::markdown::tests::duplication_markdown_contains_families ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_leaves_numbers_and_booleans ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_no_marker_when_below_threshold ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_on_string_value ... ok
[INFO] [stdout] test report::json::tests::strip_root_prefix_recurses_into_nested_objects ... ok
[INFO] [stdout] test report::markdown::tests::duplication_markdown_contains_groups ... ok
[INFO] [stdout] test report::markdown::tests::duplication_markdown_empty ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_table_format ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_with_targets ... ok
[INFO] [stdout] test report::markdown::tests::markdown_contains_header_with_count ... ok
[INFO] [stdout] test report::markdown::tests::markdown_circular_dep_format ... ok
[INFO] [stdout] test report::markdown::tests::markdown_contains_all_sections ... ok
[INFO] [stdout] test report::markdown::tests::markdown_empty_results_no_issues ... ok
[INFO] [stdout] test report::markdown::tests::health_markdown_empty_no_findings ... ok
[INFO] [stdout] test report::markdown::tests::markdown_escapes_backticks_in_export_names ... ok
[INFO] [stdout] test report::markdown::tests::markdown_unused_export_grouped_by_file ... ok
[INFO] [stdout] test report::markdown::tests::markdown_escapes_backticks_in_package_names ... ok
[INFO] [stdout] test report::markdown::tests::markdown_re_export_tagged ... ok
[INFO] [stdout] test report::markdown::tests::markdown_single_issue_no_plural ... ok
[INFO] [stdout] test report::markdown::tests::markdown_strips_root_prefix ... ok
[INFO] [stdout] test report::markdown::tests::markdown_type_only_dep_format ... ok
[INFO] [stdout] test report::markdown::tests::markdown_unused_dep_format ... ok
[INFO] [stdout] test report::markdown::tests::markdown_unused_file_format ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_both_thresholds ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_cognitive_only ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_cyclomatic_only ... ok
[INFO] [stdout] test report::sarif::tests::health_sarif_empty_no_results ... ok
[INFO] [stdout] test report::sarif::tests::sarif_declares_all_rules ... ok
[INFO] [stdout] test report::sarif::tests::sarif_dependency_issues_point_to_package_json ... ok
[INFO] [stdout] test report::sarif::tests::sarif_duplicate_export_emits_one_result_per_location ... ok
[INFO] [stdout] test report::sarif::tests::sarif_all_issue_types_produce_results ... ok
[INFO] [stdout] test report::sarif::tests::sarif_empty_results_no_results_entries ... ok
[INFO] [stdout] test report::sarif::tests::sarif_has_required_top_level_fields ... ok
[INFO] [stdout] test report::sarif::tests::sarif_has_tool_driver_info ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unlisted_dependency_points_to_import_site ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unresolved_import_is_error_level ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unused_export_includes_region ... ok
[INFO] [stdout] test report::sarif::tests::sarif_unused_file_result ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_deep_monorepo ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_identical_files ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_no_dirs ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_no_shared ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_partial_shared ... ok
[INFO] [stdout] test report::tests::elide_common_prefix_shared_dir ... ok
[INFO] [stdout] test report::tests::level_is_copy ... ok
[INFO] [stdout] test report::tests::normalize_uri_backslashes_replaced ... ok
[INFO] [stdout] test report::tests::normalize_uri_catch_all_route ... ok
[INFO] [stdout] test report::tests::normalize_uri_empty_string ... ok
[INFO] [stdout] test report::tests::normalize_uri_forward_slashes_unchanged ... ok
[INFO] [stdout] test report::tests::normalize_uri_mixed_slashes ... ok
[INFO] [stdout] test report::tests::normalize_uri_multiple_dynamic_segments ... ok
[INFO] [stdout] test report::tests::normalize_uri_no_special_chars ... ok
[INFO] [stdout] test report::tests::relative_path_at_root_returns_empty_or_file ... ok
[INFO] [stdout] test report::tests::relative_path_deeply_nested ... ok
[INFO] [stdout] test report::tests::relative_path_identical_paths_returns_empty ... ok
[INFO] [stdout] test report::tests::relative_path_partial_name_match_not_stripped ... ok
[INFO] [stdout] test report::tests::relative_path_returns_full_path_when_no_prefix ... ok
[INFO] [stdout] test report::tests::relative_path_strips_root_prefix ... ok
[INFO] [stdout] test report::tests::relative_uri_at_root_file ... ok
[INFO] [stdout] test report::tests::relative_uri_combines_stripping_and_encoding ... ok
[INFO] [stdout] test report::tests::relative_uri_encodes_brackets ... ok
[INFO] [stdout] test report::tests::relative_uri_encodes_nested_dynamic_routes ... ok
[INFO] [stdout] test report::tests::relative_uri_no_common_prefix_returns_full ... ok
[INFO] [stdout] test report::tests::relative_uri_produces_forward_slash_path ... ok
[INFO] [stdout] test report::tests::severity_error_maps_to_level_error ... ok
[INFO] [stdout] test report::tests::severity_off_maps_to_level_info ... ok
[INFO] [stdout] test report::tests::severity_to_level_is_const_evaluable ... ok
[INFO] [stdout] test report::tests::severity_warn_maps_to_level_warn ... ok
[INFO] [stdout] test report::tests::normalize_uri_only_backslashes ... ok
[INFO] [stdout] test tests::emit_error_returns_given_exit_code ... ok
[INFO] [stdout] test report::sarif::tests::sarif_file_write_produces_valid_sarif ... ok
[INFO] [stdout] test tests::format_parsing_covers_all_variants ... ok
[INFO] [stdout] test tests::quiet_parsing_logic ... ok
[INFO] [stdout] test report::sarif::tests::sarif_serializes_to_valid_json ... ok
[INFO] [stdout] test validate::tests::control_chars_allows_empty_string ... ok
[INFO] [stdout] test validate::tests::control_chars_allows_newline ... ok
[INFO] [stdout] test validate::tests::control_chars_allows_normal_text ... ok
[INFO] [stdout] test validate::tests::control_chars_allows_paths_with_dots_and_slashes ... ok
[INFO] [stdout] test validate::tests::control_chars_allows_tab ... ok
[INFO] [stdout] test validate::tests::control_chars_allows_unicode ... ok
[INFO] [stdout] test validate::tests::control_chars_rejects_bell ... ok
[INFO] [stdout] test validate::tests::control_chars_rejects_carriage_return ... ok
[INFO] [stdout] test validate::tests::control_chars_rejects_escape ... ok
[INFO] [stdout] test validate::tests::control_chars_rejects_null_byte ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_commit_sha ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_head_tilde_caret ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_multiple_braces_segments ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_reflog_index ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_reflog_relative_date ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_reflog_timestamp ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_simple_branch_names ... ok
[INFO] [stdout] test validate::tests::git_ref_allows_space_in_complex_reflog ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_backtick ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_colon_outside_braces ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_dollar_sign ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_empty ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_leading_dash ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_semicolon ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_space_outside_braces ... ok
[INFO] [stdout] test validate::tests::git_ref_rejects_unclosed_brace ... ok
[INFO] [stdout] test vital_signs::tests::compute_cyclomatic_stats ... ok
[INFO] [stdout] test vital_signs::tests::compute_hotspot_count_with_threshold ... ok
[INFO] [stdout] test vital_signs::tests::compute_with_analysis_counts ... ok
[INFO] [stdout] test vital_signs::tests::compute_without_hotspots_gives_none ... ok
[INFO] [stdout] test report::tests::normalize_uri_optional_catch_all_route ... ok
[INFO] [stdout] test vital_signs::tests::days_to_ymd_epoch ... ok
[INFO] [stdout] test vital_signs::tests::days_to_ymd_known_date ... ok
[INFO] [stdout] test report::tests::normalize_uri_path_with_spaces ... ok
[INFO] [stdout] test watch::tests::collect_changed_paths_deduplicates ... ok
[INFO] [stdout] test watch::tests::collect_changed_paths_filters_non_source ... ok
[INFO] [stdout] test report::tests::normalize_uri_single_bracket_pair ... ok
[INFO] [stdout] test watch::tests::collect_changed_paths_ignores_non_any_events ... ok
[INFO] [stdout] test schema::tests::schema_includes_environment_variables ... ok
[INFO] [stdout] test watch::tests::collect_changed_paths_empty_events ... ok
[INFO] [stdout] test watch::tests::collect_changed_paths_includes_config ... ok
[INFO] [stdout] test watch::tests::collect_changed_paths_strips_root_prefix ... ok
[INFO] [stdout] test watch::tests::relevant_config_files ... ok
[INFO] [stdout] test watch::tests::relevant_source_framework_extensions ... ok
[INFO] [stdout] test watch::tests::relevant_source_js_extensions ... ok
[INFO] [stdout] test watch::tests::relevant_source_style_extensions ... ok
[INFO] [stdout] test watch::tests::relevant_source_ts_extensions ... ok
[INFO] [stdout] test watch::tests::not_relevant_config ... ok
[INFO] [stdout] test schema::tests::schema_exit_code_2_mentions_json_errors ... ok
[INFO] [stdout] test watch::tests::not_relevant_source ... ok
[INFO] [stdout] test vital_signs::tests::snapshot_save_explicit_path ... ok
[INFO] [stdout] test vital_signs::tests::snapshot_save_and_load ... ok
[INFO] [stderr]      Running tests/list_tests.rs (/opt/rustwide/target/debug/deps/list_tests-ba4a8f342b87afc5)
[INFO] [stdout] test vital_signs::tests::snapshot_save_creates_nested_dirs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 614 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test list_css_modules_project_discovers_css_module_files ... ok
[INFO] [stdout] test list_basic_project_main_entry_point_source ... ok
[INFO] [stdout] test list_entry_point_has_source_field ... ok
[INFO] [stdout] test list_cjs_project_discovers_js_files ... ok
[INFO] [stdout] test list_external_plugin_detected ... ok
[INFO] [stdout] test list_entry_points_only_json_omits_plugins_and_files ... ok
[INFO] [stdout] test list_basic_project_detects_typescript_plugin ... ok
[INFO] [stdout] test list_invalid_root_returns_error ... ok
[INFO] [stdout] test list_human_output_files_section ... ok
[INFO] [stdout] test list_files_and_entry_points_together_json ... ok
[INFO] [stdout] test list_human_output_entry_points_section ... ok
[INFO] [stdout] test list_files_only_json_omits_plugins_and_entry_points ... ok
[INFO] [stdout] test list_json_entry_points_array_items_have_path_and_source ... ok
[INFO] [stdout] test list_json_files_are_sorted_alphabetically ... ok
[INFO] [stdout] test list_json_plugins_array_items_have_name_field ... ok
[INFO] [stdout] test list_json_entry_point_paths_are_relative ... ok
[INFO] [stdout] test list_json_files_are_relative_paths ... ok
[INFO] [stdout] test list_human_output_files_are_absolute_paths ... ok
[INFO] [stdout] test list_plugin_discovered_entry_points_in_show_all_mode ... ok
[INFO] [stdout] test list_entry_points_only_missing_plugin_entries_bug ... ok
[INFO] [stdout] test list_project_without_known_plugins_has_empty_or_minimal_plugins ... ok
[INFO] [stdout] test list_plugins_only_json_omits_files_and_entry_points ... ok
[INFO] [stdout] test list_json_output_is_valid_json_object ... ok
[INFO] [stdout] test list_human_output_plugins_section ... ok
[INFO] [stdout] test list_nextjs_project_detects_nextjs_plugin ... ok
[INFO] [stdout] test list_production_mode_flag_accepted ... ok
[INFO] [stdout] test list_plugins_and_files_together_json ... ok
[INFO] [stdout] test list_show_all_json_includes_plugins_files_and_entry_points ... ok
[INFO] [stdout] test list_vue_project_discovers_vue_files ... ok
[INFO] [stdout] test list_returns_exit_code_0_on_success ... ok
[INFO] [stdout] test list_workspace_project_discovers_entry_points_from_multiple_packages ... ok
[INFO] [stdout] test list_show_all_entry_point_count_matches_array_length ... ok
[INFO] [stdout] test list_workspace_project_discovers_files_across_packages ... ok
[INFO] [stdout] test list_svelte_project_discovers_svelte_files ... ok
[INFO] [stdout] test list_show_all_file_count_matches_files_array_length ... ok
[INFO] [stdout] test list_workspace_project_entry_points_have_varied_sources ... ok
[INFO] [stdout] test list_nextjs_project_app_page_is_plugin_entry_point ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.98s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/snapshot_tests.rs (/opt/rustwide/target/debug/deps/snapshot_tests-ff10ee397180ab77)
[INFO] [stdout] 
[INFO] [stdout] running 45 tests
[INFO] [stdout] test compact_empty_results_snapshot ... ok
[INFO] [stdout] test compact_unused_class_members_only_snapshot ... ok
[INFO] [stdout] test compact_output_snapshot ... ok
[INFO] [stdout] test compact_unused_deps_only_snapshot ... ok
[INFO] [stdout] test compact_unused_dev_deps_only_snapshot ... ok
[INFO] [stdout] test compact_unlisted_deps_only_snapshot ... ok
[INFO] [stdout] test compact_unused_enum_members_only_snapshot ... ok
[INFO] [stdout] test compact_duplicate_exports_only_snapshot ... ok
[INFO] [stdout] test compact_unused_files_only_snapshot ... ok
[INFO] [stdout] test compact_re_export_variant_snapshot ... ok
[INFO] [stdout] test json_empty_results_snapshot ... ok
[INFO] [stdout] test compact_multiple_exports_same_file_snapshot ... ok
[INFO] [stdout] test compact_unresolved_imports_only_snapshot ... ok
[INFO] [stdout] test json_multiple_exports_same_file_snapshot ... ok
[INFO] [stdout] test compact_unused_exports_only_snapshot ... ok
[INFO] [stdout] test compact_unused_optional_deps_only_snapshot ... ok
[INFO] [stdout] test compact_unused_types_only_snapshot ... ok
[INFO] [stdout] test json_output_snapshot ... ok
[INFO] [stdout] test json_duplicate_exports_only_snapshot ... ok
[INFO] [stdout] test json_unlisted_deps_only_snapshot ... ok
[INFO] [stdout] test json_unused_deps_only_snapshot ... ok
[INFO] [stdout] test json_unused_class_members_only_snapshot ... ok
[INFO] [stdout] test json_re_export_variant_snapshot ... ok
[INFO] [stdout] test json_type_only_deps_snapshot ... ok
[INFO] [stdout] test json_unresolved_imports_only_snapshot ... ok
[INFO] [stdout] test json_unused_enum_members_only_snapshot ... ok
[INFO] [stdout] test sarif_empty_results_snapshot ... ok
[INFO] [stdout] test json_unused_files_only_snapshot ... ok
[INFO] [stdout] test json_workspace_dep_snapshot ... ok
[INFO] [stdout] test sarif_duplicate_exports_only_snapshot ... ok
[INFO] [stdout] test json_unused_exports_only_snapshot ... ok
[INFO] [stdout] test sarif_mixed_severity_snapshot ... ok
[INFO] [stdout] test sarif_unresolved_imports_only_snapshot ... ok
[INFO] [stdout] test sarif_multiple_exports_same_file_snapshot ... ok
[INFO] [stdout] test json_unused_types_only_snapshot ... ok
[INFO] [stdout] test sarif_unused_enum_members_only_snapshot ... ok
[INFO] [stdout] test sarif_unused_exports_only_snapshot ... ok
[INFO] [stdout] test sarif_unused_files_only_snapshot ... ok
[INFO] [stdout] test sarif_workspace_dep_snapshot ... ok
[INFO] [stdout] test sarif_unused_types_only_snapshot ... ok
[INFO] [stdout] test sarif_unlisted_deps_only_snapshot ... ok
[INFO] [stdout] test sarif_unused_deps_only_snapshot ... ok
[INFO] [stdout] test sarif_re_export_variant_snapshot ... ok
[INFO] [stdout] test sarif_output_snapshot ... ok
[INFO] [stdout] test sarif_unused_class_members_only_snapshot ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 45 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fallow_config-58dfc038706c9f1c)
[INFO] [stdout] 
[INFO] [stdout] running 148 tests
[INFO] [stdout] test config::duplicates_config::tests::detection_mode_from_str_case_insensitive ... ok
[INFO] [stdout] test config::duplicates_config::tests::duplicates_config_defaults ... ok
[INFO] [stdout] test config::duplicates_config::tests::normalization_config_json_overrides ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_all_overrides_on_weak ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_mild_mode_all_false ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_override_forces_false ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_override_forces_true ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_strict_mode_all_false ... ok
[INFO] [stdout] test config::duplicates_config::tests::duplicates_config_json_partial_uses_defaults ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_weak_mode_only_strings_true ... ok
[INFO] [stdout] test config::format::tests::output_format_default_is_human ... ok
[INFO] [stdout] test config::health::tests::health_config_defaults ... ok
[INFO] [stdout] test config::health::tests::health_config_json_all_fields ... ok
[INFO] [stdout] test config::health::tests::health_config_json_empty_object_uses_all_defaults ... ok
[INFO] [stdout] test config::health::tests::health_config_json_only_ignore ... ok
[INFO] [stdout] test config::parsing::tests::config_format_detection ... ok
[INFO] [stdout] test config::parsing::tests::config_names_priority_order ... ok
[INFO] [stdout] test config::health::tests::health_config_json_partial_uses_defaults ... ok
[INFO] [stdout] test config::duplicates_config::tests::resolve_semantic_mode_all_true ... ok
[INFO] [stdout] test config::duplicates_config::tests::detection_mode_display ... ok
[INFO] [stdout] test config::duplicates_config::tests::duplicates_config_json_all_fields ... ok
[INFO] [stdout] test config::duplicates_config::tests::detection_mode_from_str_all_variants ... ok
[INFO] [stdout] test config::duplicates_config::tests::detection_mode_from_str_unknown ... ok
[INFO] [stdout] test config::parsing::tests::extends_string_sugar ... ok
[INFO] [stdout] test config::parsing::tests::extends_missing_file_errors ... ok
[INFO] [stdout] test config::parsing::tests::config_without_rules_defaults_to_error ... ok
[INFO] [stdout] test config::parsing::tests::extends_chained ... ok
[INFO] [stdout] test config::parsing::tests::extends_single_base ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_denies_unknown_fields ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_deserialize_ignore_dependencies ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_deserialize_minimal ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_deserialize_jsonc ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_json_with_schema_field ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_resolve_cache_dir ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_json_schema_generation ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_resolve_default_ignores ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_deserialize_json ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_deserialize_ignore_exports ... ok
[INFO] [stdout] test config::parsing::tests::json_config_all_fields ... ok
[INFO] [stdout] test config::parsing::tests::load_jsonc_config_file ... ok
[INFO] [stdout] test config::parsing::tests::package_json_dependency_names ... ok
[INFO] [stdout] test config::parsing::tests::json_config_ignore_dependencies_camel_case ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_bin_object ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_bin_string ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_exports_string ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_exports_object ... ok
[INFO] [stdout] test config::parsing::tests::load_json_config_file ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_module ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_types ... ok
[INFO] [stdout] test config::parsing::tests::package_json_no_dependencies ... ok
[INFO] [stdout] test config::resolution::tests::overrides_deserialize ... ok
[INFO] [stdout] test config::resolution::tests::resolve_rules_for_path_later_override_wins ... ok
[INFO] [stdout] test config::parsing::tests::package_json_entry_points_main ... ok
[INFO] [stdout] test config::rules::tests::apply_partial_all_fields_set ... ok
[INFO] [stdout] test config::rules::tests::apply_partial_all_none_changes_nothing ... ok
[INFO] [stdout] test config::rules::tests::apply_partial_only_some_fields ... ok
[INFO] [stdout] test config::rules::tests::rules_config_defaults_include_optional_deps ... ok
[INFO] [stdout] test config::rules::tests::rules_default_all_error_except_type_only ... ok
[INFO] [stdout] test config::rules::tests::rules_deserialize_kebab_case ... ok
[INFO] [stdout] test config::rules::tests::severity_display ... ok
[INFO] [stdout] test config::rules::tests::severity_from_str ... ok
[INFO] [stdout] test external_plugin::tests::config_plugin_path_to_single_file ... ok
[INFO] [stdout] test config::resolution::tests::resolve_rules_for_path_no_overrides ... ok
[INFO] [stdout] test config::parsing::tests::extends_deep_merge_preserves_arrays ... ok
[INFO] [stdout] test config::parsing::tests::extends_overlay_overrides_base ... ok
[INFO] [stdout] test config::parsing::tests::fallow_config_resolve_custom_ignores ... ok
[INFO] [stdout] test config::parsing::tests::rules_deserialize_toml_kebab_case ... ok
[INFO] [stdout] test external_plugin::tests::config_plugin_path_to_single_json_file ... ok
[INFO] [stdout] test external_plugin::tests::deserialize_full_plugin ... ok
[INFO] [stdout] test external_plugin::tests::deserialize_json_plugin ... ok
[INFO] [stdout] test external_plugin::tests::deserialize_jsonc_plugin ... ok
[INFO] [stdout] test external_plugin::tests::deserialize_json_with_schema_field ... ok
[INFO] [stdout] test external_plugin::tests::deserialize_minimal_plugin ... ok
[INFO] [stdout] test external_plugin::tests::detection_deserialize_all ... ok
[INFO] [stdout] test external_plugin::tests::detection_deserialize_any ... ok
[INFO] [stdout] test external_plugin::tests::detection_deserialize_file_exists ... ok
[INFO] [stdout] test external_plugin::tests::discover_fallow_plugin_files_in_root ... ok
[INFO] [stdout] test external_plugin::tests::discover_fallow_plugin_json_files_in_root ... ok
[INFO] [stdout] test external_plugin::tests::detection_deserialize_dependency ... ok
[INFO] [stdout] test external_plugin::tests::discover_json_plugins_from_fallow_plugins_dir ... ok
[INFO] [stdout] test external_plugin::tests::is_plugin_file_checks_extensions ... ok
[INFO] [stdout] test external_plugin::tests::plugin_json_schema_generation ... ok
[INFO] [stdout] test external_plugin::tests::plugin_with_detection_field ... ok
[INFO] [stdout] test external_plugin::tests::plugin_without_detection_uses_enablers ... ok
[INFO] [stdout] test external_plugin::tests::prefix_enablers ... ok
[INFO] [stdout] test external_plugin::tests::config_plugin_paths_take_priority ... ok
[INFO] [stdout] test external_plugin::tests::discover_plugins_from_fallow_plugins_dir ... ok
[INFO] [stdout] test external_plugin::tests::skips_empty_name ... ok
[INFO] [stdout] test external_plugin::tests::discover_mixed_formats_in_dir ... ok
[INFO] [stdout] test external_plugin::tests::skips_invalid_json ... ok
[INFO] [stdout] test external_plugin::tests::rejects_paths_outside_root ... ok
[INFO] [stdout] test workspace::package_json::tests::extract_exports_ignores_non_relative ... ok
[INFO] [stdout] test external_plugin::tests::plugin_format_detection ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_all_dependency_names ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_bin_field_object ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_bin_field_string ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_browser_field_object ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_entry_points_combined ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_exports_array ... ok
[INFO] [stdout] test external_plugin::tests::skips_invalid_toml ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_exports_deeply_nested ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_exports_nested ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_exports_string ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_load_missing_file ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_production_dependency_names ... ok
[INFO] [stdout] test external_plugin::tests::deduplicates_by_name ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_workspace_patterns_array ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_workspace_patterns_none ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_workspace_patterns_object ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_workspace_patterns_object_with_nohoist ... ok
[INFO] [stdout] test workspace::parsers::tests::expand_workspace_glob_exact_path ... ok
[INFO] [stdout] test workspace::parsers::tests::expand_workspace_glob_nested ... ok
[INFO] [stdout] test workspace::parsers::tests::expand_workspace_glob_no_matches ... ok
[INFO] [stdout] test workspace::parsers::tests::expand_workspace_glob_star ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_basic ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_workspace_patterns_empty_array ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_empty ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_malformed ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_no_packages_key ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_no_quotes ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_packages_key_empty_list ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_double_quotes ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_stops_at_next_key ... ok
[INFO] [stdout] test workspace::parsers::tests::parse_pnpm_workspace_with_comments ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_array ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_array_of_objects ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_basic ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_escaped_quotes ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_empty_input ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_nested ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_nested_objects ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_no_commas ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_preserves_strings ... ok
[INFO] [stdout] test workspace::parsers::tests::strip_trailing_commas_with_whitespace ... ok
[INFO] [stdout] test workspace::parsers::tests::tsconfig_references_empty_array ... ok
[INFO] [stdout] test workspace::parsers::tests::tsconfig_references_from_dir ... ok
[INFO] [stdout] test workspace::parsers::tests::tsconfig_references_no_file ... ok
[INFO] [stdout] test workspace::parsers::tests::tsconfig_references_no_references_field ... ok
[INFO] [stdout] test workspace::parsers::tests::tsconfig_references_skips_nonexistent_dirs ... ok
[INFO] [stdout] test workspace::parsers::tests::tsconfig_references_malformed_json ... ok
[INFO] [stdout] test workspace::tests::discover_workspaces_from_tsconfig_references ... ok
[INFO] [stdout] test workspace::tests::tsconfig_references_outside_root_rejected ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_load_valid ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_missing_optional_fields ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_source_field ... ok
[INFO] [stdout] test config::parsing::tests::extends_circular_detected ... ok
[INFO] [stdout] test workspace::package_json::tests::package_json_browser_field_string ... ok
[INFO] [stdout] test config::resolution::tests::resolve_rules_for_path_with_matching_override ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 148 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.40s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/fallow_core-ef7cc97942cff22e)
[INFO] [stdout] 
[INFO] [stdout] running 972 tests
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_after_block_comment_end_on_same_line ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_deeply_nested_scoped_package ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_malformed_content ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_block_comment_end_without_dep_on_remainder ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_empty_content ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_multiline_block_comment_end_with_dep_on_remainder ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_multiple_dep_sections ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_dep_inside_and_after_block_comment ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_minimal_block_comment ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_returns_1_when_not_found ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_finds_dependency_key ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_value_not_key_is_not_matched ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_handles_scoped_packages ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_skips_multiline_block_comment ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_with_trailing_comma_jsonc ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::read_pkg_json_content_nonexistent_path ... ok
[INFO] [stdout] test analyze::predicates::tests::angular_lifecycle_check_hooks ... ok
[INFO] [stdout] test analyze::predicates::tests::angular_lifecycle_content_hooks ... ok
[INFO] [stdout] test analyze::predicates::tests::angular_lifecycle_core_hooks ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_skips_block_comments ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::find_dep_line_skips_line_comments ... ok
[INFO] [stdout] test analyze::predicates::tests::builtin_module_path ... ok
[INFO] [stdout] test analyze::predicates::tests::angular_lifecycle_form_methods ... ok
[INFO] [stdout] test analyze::predicates::tests::angular_lifecycle_guard_resolver_methods ... ok
[INFO] [stdout] test analyze::predicates::tests::builtin_module_all_known ... ok
[INFO] [stdout] test analyze::predicates::tests::builtin_module_fs ... ok
[INFO] [stdout] test analyze::predicates::tests::builtin_module_with_node_prefix ... ok
[INFO] [stdout] test analyze::predicates::tests::config_file_dotrc_pattern ... ok
[INFO] [stdout] test analyze::predicates::tests::config_file_known_patterns ... ok
[INFO] [stdout] test analyze::predicates::tests::declaration_file_dmts_dcts ... ok
[INFO] [stdout] test analyze::predicates::tests::declaration_file_dts ... ok
[INFO] [stdout] test analyze::predicates::tests::implicit_dep_types_packages ... ok
[INFO] [stdout] test analyze::predicates::tests::not_angular_lifecycle_method ... ok
[INFO] [stdout] test analyze::predicates::tests::not_builtin_module ... ok
[INFO] [stdout] test analyze::predicates::tests::not_builtin_npm_packages_with_builtin_prefix ... ok
[INFO] [stdout] test analyze::predicates::tests::not_builtin_similar_names ... ok
[INFO] [stdout] test analyze::predicates::tests::not_config_file ... ok
[INFO] [stdout] test analyze::predicates::tests::not_declaration_file ... ok
[INFO] [stdout] test analyze::predicates::tests::not_implicit_dep ... ok
[INFO] [stdout] test analyze::predicates::tests::not_path_alias_emotion_react ... ok
[INFO] [stdout] test analyze::predicates::tests::not_path_alias_lodash ... ok
[INFO] [stdout] test analyze::predicates::tests::not_path_alias_lowercase_short_scope ... ok
[INFO] [stdout] test analyze::predicates::tests::not_path_alias_regular_package ... ok
[INFO] [stdout] test analyze::predicates::tests::not_path_alias_scoped_npm_package ... ok
[INFO] [stdout] test analyze::predicates::tests::not_react_lifecycle_method ... ok
[INFO] [stdout] test analyze::predicates::tests::not_tooling_dep ... ok
[INFO] [stdout] test analyze::predicates::tests::not_virtual_module ... ok
[INFO] [stdout] test analyze::predicates::tests::path_alias_at_slash ... ok
[INFO] [stdout] test analyze::predicates::tests::path_alias_hash_imports_map ... ok
[INFO] [stdout] test analyze::predicates::tests::path_alias_pascal_case_scope ... ok
[INFO] [stdout] test analyze::predicates::tests::path_alias_tilde ... ok
[INFO] [stdout] test analyze::predicates::tests::react_lifecycle_context_methods ... ok
[INFO] [stdout] test analyze::predicates::tests::react_lifecycle_deprecated_and_unsafe ... ok
[INFO] [stdout] test analyze::predicates::tests::react_lifecycle_error_boundary ... ok
[INFO] [stdout] test analyze::predicates::tests::react_lifecycle_standard_methods ... ok
[INFO] [stdout] test analyze::predicates::tests::react_lifecycle_static_methods ... ok
[INFO] [stdout] test analyze::predicates::tests::tooling_dep_environments_and_cli ... ok
[INFO] [stdout] test analyze::predicates::tests::tooling_dep_exact_matches ... ok
[INFO] [stdout] test analyze::predicates::tests::tooling_dep_prefixes ... ok
[INFO] [stdout] test analyze::predicates::tests::tooling_dep_testing_frameworks ... ok
[INFO] [stdout] test analyze::predicates::tests::virtual_module_vite_convention ... ok
[INFO] [stdout] test analyze::tests::byte_offset_at_newline_boundary ... ok
[INFO] [stdout] test analyze::tests::byte_offset_empty_source ... ok
[INFO] [stdout] test analyze::tests::byte_offset_multibyte_accented_chars ... ok
[INFO] [stdout] test analyze::tests::byte_offset_multibyte_utf8 ... ok
[INFO] [stdout] test analyze::tests::byte_offset_multiline_middle_of_line3 ... ok
[INFO] [stdout] test analyze::tests::byte_offset_multiline_start_of_line2 ... ok
[INFO] [stdout] test analyze::tests::byte_offset_single_line_middle ... ok
[INFO] [stdout] test analyze::tests::byte_offset_single_line_start ... ok
[INFO] [stdout] test analyze::tests::byte_offset_via_map_fallback ... ok
[INFO] [stdout] test analyze::tests::compute_offsets_multiline ... ok
[INFO] [stdout] test analyze::tests::byte_offset_via_map_lookup ... ok
[INFO] [stdout] test analyze::tests::compute_offsets_consecutive_newlines ... ok
[INFO] [stdout] test analyze::tests::compute_offsets_single_line ... ok
[INFO] [stdout] test analyze::tests::compute_offsets_crlf ... ok
[INFO] [stdout] test analyze::unused_deps::tests::all_deps_used_produces_no_unused ... ok
[INFO] [stdout] test analyze::tests::compute_offsets_trailing_newline ... ok
[INFO] [stdout] test analyze::unused_deps::tests::builtin_module_cloudflare_workers ... ok
[INFO] [stdout] test analyze::unused_deps::tests::builtin_module_deno_std ... ok
[INFO] [stdout] test analyze::unused_deps::tests::builtin_modules_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::builtin_module_subpaths ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_implicit_filter_disabled_keeps_react_dom ... ok
[INFO] [stdout] test analyze::tests::compute_offsets_empty ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_implicit_filter_skips_react_dom ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_known_tooling_filter_skips_jest ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_plugin_tooling_filter ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_all_used_returns_empty ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_empty_deps_returns_empty ... ok
[INFO] [stdout] test analyze::unused_deps::tests::dev_dep_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_some_unused_are_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::collect_unused_plugin_tooling_disabled_keeps_dep ... ok
[INFO] [stdout] test analyze::unused_deps::tests::implicit_dep_next_packages ... ok
[INFO] [stdout] test analyze::unused_deps::tests::implicit_dep_react_dom ... ok
[INFO] [stdout] test analyze::unused_deps::tests::implicit_dep_websocket_addons ... ok
[INFO] [stdout] test analyze::unused_deps::tests::ignore_dependencies_config_filters_deps ... ok
[INFO] [stdout] test analyze::unused_deps::tests::import_location_found ... ok
[INFO] [stdout] test analyze::unused_deps::tests::listed_in_different_workspace_not_matching ... ok
[INFO] [stdout] test analyze::unused_deps::tests::listed_in_root_deps ... ok
[INFO] [stdout] test analyze::unused_deps::tests::listed_in_workspace_deps ... ok
[INFO] [stdout] test analyze::unused_deps::tests::implicit_deps_not_flagged_as_unused ... ok
[INFO] [stdout] test analyze::unused_deps::tests::import_location_file_exists_but_package_not_found ... ok
[INFO] [stdout] test analyze::unused_deps::tests::import_location_not_found_falls_back ... ok
[INFO] [stdout] test analyze::unused_deps::tests::not_listed_anywhere ... ok
[INFO] [stdout] test analyze::unused_deps::tests::multiple_unresolved_imports_collected ... ok
[INFO] [stdout] test analyze::unused_deps::tests::known_tooling_dev_deps_not_flagged_as_unused ... ok
[INFO] [stdout] test analyze::unused_deps::tests::no_resolved_modules_produces_no_unresolved ... ok
[INFO] [stdout] test analyze::unused_deps::tests::optional_dep_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::optional_dep_in_peer_deps_also_counts ... ok
[INFO] [stdout] test analyze::unused_deps::tests::no_imports_flags_all_non_implicit_deps ... ok
[INFO] [stdout] test analyze::unused_deps::tests::no_deps_produces_no_unused ... ok
[INFO] [stdout] test analyze::unused_deps::tests::listed_dep_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::path_alias_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::plugin_referenced_deps_not_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::peer_dep_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::plugin_tooling_deps_not_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::plugin_tooling_deps_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::plugin_tooling_dev_deps_not_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::script_used_packages_not_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::scoped_npm_packages_not_path_aliases ... ok
[INFO] [stdout] test analyze::unused_deps::tests::scoped_package_subpath_import_recognized_as_used ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_multiple_guards_match ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_closure_receives_correct_dep_name ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_no_match_with_similar_names ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_empty_string_no_match ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_returns_false_when_no_guard_matches ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_when_plugin_referenced ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_when_root_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::resolved_import_not_reported_as_unresolved ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_when_used_in_workspace ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_when_in_ignore_list ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_when_workspace_name ... ok
[INFO] [stdout] test analyze::unused_deps::tests::skip_dep_when_script_used ... ok
[INFO] [stdout] test analyze::unused_deps::tests::type_only_dep_ignores_dev_dependencies ... ok
[INFO] [stdout] test analyze::unused_deps::tests::type_only_dep_detected_when_all_imports_are_type_only ... ok
[INFO] [stdout] test analyze::unused_deps::tests::type_only_dep_not_detected_when_runtime_import_exists ... ok
[INFO] [stdout] test analyze::unused_deps::tests::type_only_dep_not_detected_when_unused ... ok
[INFO] [stdout] test analyze::unused_deps::tests::type_only_dep_skips_ignored_deps ... ok
[INFO] [stdout] test analyze::unused_deps::tests::type_only_dep_skips_workspace_packages ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unlisted_dep_detected_across_multiple_files ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unlisted_dep_has_import_sites ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unresolved_import_detected ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unresolved_import_file_level_suppression ... ok
[INFO] [stdout] test analyze::unused_deps::tests::path_alias_imports_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::plugin_virtual_prefixes_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unresolved_import_not_suppressed_by_wrong_kind ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unresolved_import_with_virtual_prefix_not_reported ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unresolved_import_suppressed_by_inline_comment ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unused_optional_dep_flagged_when_never_imported ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unused_dep_flagged_when_never_imported ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unused_dep_location_is_correct ... ok
[INFO] [stdout] test analyze::unused_deps::tests::workspace_dep_used_within_workspace_not_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unresolved_virtual_module_not_reported ... ok
[INFO] [stdout] test analyze::unused_deps::tests::workspace_package_names_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unused_dev_dep_non_tooling_is_flagged ... ok
[INFO] [stdout] test analyze::unused_exports::tests::collect_usages_empty_graph ... ok
[INFO] [stdout] test analyze::unused_deps::tests::workspace_package_names_not_flagged ... ok
[INFO] [stdout] test analyze::unused_deps::tests::virtual_modules_not_reported_as_unlisted ... ok
[INFO] [stdout] test analyze::unused_exports::tests::collect_usages_counts_references ... ok
[INFO] [stdout] test analyze::unused_exports::tests::collect_usages_skips_unreachable_modules ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_detects_same_name_in_two_modules ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_filters_re_export_chains ... ok
[INFO] [stdout] test analyze::unused_exports::tests::collect_usages_skips_synthetic_exports ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_skips_default_exports ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_different_names_not_duplicated ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_no_duplicates_single_module ... ok
[INFO] [stdout] test analyze::unused_exports::tests::collect_usages_zero_references_still_reported ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_skips_entry_points ... ok
[INFO] [stdout] test analyze::package_json_utils::tests::read_pkg_json_content_valid_path ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_empty_graph ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_skips_synthetic_re_export_entries ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_suppressed_file_wide ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_empty_graph ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_three_modules_same_name ... ok
[INFO] [stdout] test analyze::unused_exports::tests::duplicate_exports_skips_unreachable_modules ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_ignore_rule_wrong_file_no_effect ... ok
[INFO] [stdout] test analyze::unused_deps::tests::unlisted_dep_detected_when_not_in_package_json ... ok
[INFO] [stdout] test analyze::unused_exports::tests::collect_usages_multiple_exports_same_module ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_ignore_multiple_patterns ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_ignore_specific_name_only ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_marks_re_export_sentinel ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_detects_unreferenced_export ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_invalid_plugin_glob_skipped ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_does_not_skip_cjs_module_with_named_exports ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_plugin_no_used_exports ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_empty_ignore_config ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_reports_reachable_non_entry_non_cjs_non_svelte ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_invalid_ignore_glob_skipped ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_no_plugin_result ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_ignore_wildcard_matches_all ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_both_config_and_plugin_ignore ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_skips_referenced_export ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_skips_cjs_only_module ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_skips_entry_point ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_separates_types_from_values ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_skips_svelte_files ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_skips_unreachable_module ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_skips_public_export ... ok
[INFO] [stdout] test analyze::unused_members::tests::accessed_enum_member_not_flagged ... ok
[INFO] [stdout] test analyze::unused_members::tests::angular_lifecycle_method_not_flagged ... ok
[INFO] [stdout] test analyze::unused_exports::tests::unused_exports_plugin_used_exports_suppresses ... ok
[INFO] [stdout] test analyze::unused_members::tests::class_member_kind_routed_to_class_results ... ok
[INFO] [stdout] test analyze::unused_members::tests::decorated_class_member_not_flagged ... ok
[INFO] [stdout] test analyze::unused_members::tests::entry_point_module_skips_member_analysis ... ok
[INFO] [stdout] test analyze::unused_members::tests::react_lifecycle_method_not_flagged ... ok
[INFO] [stdout] test analyze::unused_members::tests::instance_member_access_not_flagged ... ok
[INFO] [stdout] test analyze::unused_members::tests::unreachable_module_skips_member_analysis ... ok
[INFO] [stdout] test analyze::unused_members::tests::enum_member_kind_routed_to_enum_results ... ok
[INFO] [stdout] test analyze::unused_members::tests::unreferenced_export_skips_member_analysis ... ok
[INFO] [stdout] test churn::tests::numstat_binary_skipped ... ok
[INFO] [stdout] test analyze::unused_members::tests::unused_members_empty_graph ... ok
[INFO] [stdout] test churn::tests::iso_date_invalid ... ok
[INFO] [stdout] test churn::tests::iso_date_valid ... ok
[INFO] [stdout] test churn::tests::iso_date_with_time_rejected ... ok
[INFO] [stdout] test analyze::unused_members::tests::this_member_access_not_flagged ... ok
[INFO] [stdout] test churn::tests::numstat_normal ... ok
[INFO] [stdout] test churn::tests::parse_git_log_multiple_commits_same_file ... ok
[INFO] [stdout] test churn::tests::numstat_zero_lines ... ok
[INFO] [stdout] test churn::tests::parse_git_log_multiple_files ... ok
[INFO] [stdout] test churn::tests::parse_git_log_empty_output ... ok
[INFO] [stdout] test churn::tests::parse_git_log_single_commit ... ok
[INFO] [stdout] test churn::tests::parse_since_days ... ok
[INFO] [stdout] test churn::tests::parse_since_iso_date ... ok
[INFO] [stdout] test churn::tests::parse_git_log_skips_binary_files ... ok
[INFO] [stdout] test churn::tests::parse_since_months_long ... ok
[INFO] [stdout] test churn::tests::parse_git_log_weighted_commits_are_positive ... ok
[INFO] [stdout] test churn::tests::parse_since_day_singular ... ok
[INFO] [stdout] test churn::tests::parse_since_month_singular ... ok
[INFO] [stdout] test churn::tests::parse_since_months_short ... ok
[INFO] [stdout] test analyze::unused_members::tests::unused_enum_member_detected ... ok
[INFO] [stdout] test churn::tests::parse_since_no_number_rejected ... ok
[INFO] [stdout] test churn::tests::parse_since_no_unit_rejected ... ok
[INFO] [stdout] test churn::tests::parse_since_unknown_unit_rejected ... ok
[INFO] [stdout] test analyze::unused_members::tests::whole_object_use_skips_all_members ... ok
[INFO] [stdout] test churn::tests::parse_since_weeks ... ok
[INFO] [stdout] test churn::tests::parse_since_zero_rejected ... ok
[INFO] [stdout] test churn::tests::trend_display ... ok
[INFO] [stdout] test churn::tests::trend_empty_is_stable ... ok
[INFO] [stdout] test churn::tests::trend_boundary_1_5x_ratio ... ok
[INFO] [stdout] test churn::tests::trend_cooling ... ok
[INFO] [stdout] test churn::tests::trend_just_above_1_5x ... ok
[INFO] [stdout] test churn::tests::trend_same_timestamp_is_stable ... ok
[INFO] [stdout] test churn::tests::trend_single_commit_is_stable ... ok
[INFO] [stdout] test cross_reference::tests::affected_group_indices ... ok
[INFO] [stdout] test cross_reference::tests::detects_clone_in_unused_file ... ok
[INFO] [stdout] test cross_reference::tests::empty_inputs_produce_no_findings ... ok
[INFO] [stdout] test cross_reference::tests::no_findings_when_no_overlap ... ok
[INFO] [stdout] test churn::tests::parse_since_years_plural ... ok
[INFO] [stdout] test churn::tests::trend_accelerating ... ok
[INFO] [stdout] test cross_reference::tests::detects_clone_overlapping_unused_type ... ok
[INFO] [stdout] test churn::tests::parse_since_year_singular ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_cmd_exec_form ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_cmd_shell_form ... ok
[INFO] [stdout] test churn::tests::trend_stable_even_distribution ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_detection ... ok
[INFO] [stdout] test cross_reference::tests::detects_clone_overlapping_unused_export ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_entrypoint_exec_form ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_multiline_run ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_no_file_refs ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_run_esbuild ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_run_tsx_runner ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_skips_comments_and_other_instructions ... ok
[INFO] [stdout] test discover::infrastructure::tests::exec_form_basic ... ok
[INFO] [stdout] test discover::infrastructure::tests::exec_form_with_commas_in_args ... ok
[INFO] [stdout] test discover::infrastructure::tests::exec_form_with_flags ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_arbitrary_process_name ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_cmd ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_comments_and_sections ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_exec_form_array ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_ignores_non_process_keys ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_process_commands ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_release_command ... ok
[INFO] [stdout] test discover::infrastructure::tests::procfile_basic ... ok
[INFO] [stdout] test discover::infrastructure::tests::procfile_empty ... ok
[INFO] [stdout] test discover::infrastructure::tests::procfile_with_comments ... ok
[INFO] [stdout] test discover::parse_scripts::tests::file_path_with_extension ... ok
[INFO] [stdout] test discover::parse_scripts::tests::file_path_with_slash ... ok
[INFO] [stdout] test discover::parse_scripts::tests::not_file_path ... ok
[INFO] [stdout] test discover::parse_scripts::tests::not_script_file_bare_name ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_run_node ... ok
[INFO] [stdout] test discover::infrastructure::tests::dockerfile_case_insensitive ... ok
[INFO] [stdout] test discover::infrastructure::tests::fly_toml_section_switching ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_bare_file_path ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_chained_commands ... ok
[INFO] [stdout] test cross_reference::tests::unused_file_takes_priority_over_export ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_no_file_ref ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_node_runner ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_npx_prefix ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_semicolon_separator ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_file_with_path ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_ts_node_runner ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_tsx_runner ... ok
[INFO] [stdout] test discover::parse_scripts::tests::script_with_flags ... ok
[INFO] [stdout] test discover::walk::tests::allowed_hidden_dirs ... ok
[INFO] [stdout] test discover::walk::tests::disallowed_hidden_dirs ... ok
[INFO] [stdout] test discover::walk::tests::non_hidden_dirs_not_in_allowlist ... ok
[INFO] [stdout] test discover::walk::tests::production_excludes_config_patterns ... ok
[INFO] [stdout] test discover::walk::tests::production_excludes_story_patterns ... ok
[INFO] [stdout] test discover::walk::tests::production_excludes_test_patterns ... ok
[INFO] [stdout] test discover::walk::tests::production_patterns_are_valid_globs ... ok
[INFO] [stdout] test discover::walk::tests::source_extensions_exclude_non_source ... ok
[INFO] [stdout] test discover::walk::tests::source_extensions_include_javascript ... ok
[INFO] [stdout] test discover::walk::tests::source_extensions_include_sfc_formats ... ok
[INFO] [stdout] test discover::walk::tests::source_extensions_include_styles ... ok
[INFO] [stdout] test discover::walk::tests::source_extensions_include_typescript ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_clone_group_deduplicates_same_offset ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_clone_group_returns_none_below_min_lines ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_clone_group_returns_none_for_single_instance ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_clone_group_skip_local_filters_same_dir ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_clone_group_skip_local_keeps_cross_dir ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_clone_group_valid_group_construction ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_line_tables_empty_file ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_line_tables_multiple_files ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_line_tables_multiple_lines ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_line_tables_single_line_no_newline ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::build_line_tables_trailing_newline ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::insert_adjacent_merges ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::insert_fully_contained_no_change ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::insert_maintains_sorted_order ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::insert_multiple_merges_extend_only_previous ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::insert_non_overlapping ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::insert_overlapping_extends_end ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_adjacent_intervals_not_merged ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_at_interval_start ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_before_any_interval ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_different_slots_independent ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_empty_index_returns_false ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_exact_boundary ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_gap_between_intervals ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_single_interval_contained ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::is_covered_single_interval_not_contained ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_line_subsets_different_files_not_subset ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_line_subsets_empty_input ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_line_subsets_nested_clone_removed ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_line_subsets_no_subsets_all_survive ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_line_subsets_partial_overlap_survives ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_line_subsets_single_group_survives ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_token_subsets_empty_input ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_token_subsets_no_subsets_both_survive ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_token_subsets_partial_overlap_survives ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_token_subsets_single_group_survives ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_token_subsets_strict_subset_removed ... ok
[INFO] [stdout] test duplicates::detect::filtering::tests::remove_token_subsets_subset_in_one_file_but_not_other ... ok
[INFO] [stdout] test duplicates::detect::tests::byte_offset_beyond_source ... ok
[INFO] [stdout] test duplicates::detect::tests::byte_offset_to_line_col_basic ... ok
[INFO] [stdout] test duplicates::detect::tests::detects_exact_duplicate_across_files ... ok
[INFO] [stdout] test duplicates::detect::tests::empty_input_edge_case ... ok
[INFO] [stdout] test duplicates::detect::tests::empty_input_produces_empty_report ... ok
[INFO] [stdout] test duplicates::detect::tests::lcp_stops_at_sentinels ... ok
[INFO] [stdout] test duplicates::detect::tests::no_detection_below_min_tokens ... ok
[INFO] [stdout] test duplicates::detect::tests::lcp_construction_basic ... ok
[INFO] [stdout] test duplicates::detect::tests::overlapping_clones_largest_wins ... ok
[INFO] [stdout] test discover::entry_points::tests::non_source_extensions_not_in_list ... ok
[INFO] [stdout] test duplicates::detect::tests::rank_reduction_maps_correctly ... ok
[INFO] [stdout] test duplicates::detect::tests::no_self_overlap ... ok
[INFO] [stdout] test duplicates::detect::tests::sa_construction_basic ... ok
[INFO] [stdout] test duplicates::detect::tests::single_file_internal_duplication ... ok
[INFO] [stdout] test duplicates::detect::tests::single_file_no_clones ... ok
[INFO] [stdout] test duplicates::detect::tests::skip_local_filters_same_directory ... ok
[INFO] [stdout] test duplicates::detect::tests::skip_local_keeps_cross_directory ... ok
[INFO] [stdout] test duplicates::detect::tests::stats_computation ... ok
[INFO] [stdout] test duplicates::detect::tests::three_file_grouping ... ok
[INFO] [stdout] test duplicates::families::tests::empty_groups_produce_no_families ... ok
[INFO] [stdout] test duplicates::families::tests::families_sorted_by_total_lines_descending ... ok
[INFO] [stdout] test duplicates::families::tests::large_family_gets_extract_module_suggestion ... ok
[INFO] [stdout] test duplicates::families::tests::single_group_produces_one_family ... ok
[INFO] [stdout] test duplicates::families::tests::small_family_gets_extract_function_suggestion ... ok
[INFO] [stdout] test duplicates::normalize::tests::empty_input_produces_empty_output ... ok
[INFO] [stdout] test duplicates::normalize::tests::operators_have_distinct_hashes ... ok
[INFO] [stdout] test duplicates::normalize::tests::preserves_original_indices ... ok
[INFO] [stdout] test duplicates::families::tests::groups_sharing_same_files_form_one_family ... ok
[INFO] [stdout] test duplicates::families::tests::groups_with_different_files_form_separate_families ... ok
[INFO] [stdout] test duplicates::normalize::tests::proptests::normalization_is_idempotent ... ok
[INFO] [stdout] test discover::entry_points::tests::glob_patterns_never_panic_on_compile ... ok
[INFO] [stdout] test duplicates::normalize::tests::punctuation_has_distinct_hashes ... ok
[INFO] [stdout] test discover::parse_scripts::tests::proptests::looks_like_file_path_no_panic ... ok
[INFO] [stdout] test duplicates::normalize::tests::resolved_normalization_from_mode_defaults ... ok
[INFO] [stdout] test duplicates::normalize::tests::resolved_normalization_overrides_mode_defaults ... ok
[INFO] [stdout] test duplicates::normalize::tests::resolved_strict_with_ignore_identifiers_override ... ok
[INFO] [stdout] test duplicates::normalize::tests::resolved_strict_with_ignore_numbers_override ... ok
[INFO] [stdout] test duplicates::normalize::tests::resolved_semantic_with_preserve_identifiers_override ... ok
[INFO] [stdout] test duplicates::normalize::tests::semantic_mode_blinds_identifiers ... ok
[INFO] [stdout] test duplicates::normalize::tests::resolved_strict_with_ignore_strings_override ... ok
[INFO] [stdout] test duplicates::normalize::tests::semantic_mode_blinds_numeric_literals ... ok
[INFO] [stdout] test duplicates::normalize::tests::semantic_mode_blinds_string_literals ... ok
[INFO] [stdout] test duplicates::normalize::tests::semantic_mode_preserves_booleans ... ok
[INFO] [stdout] test duplicates::normalize::tests::strict_mode_preserves_identifiers ... ok
[INFO] [stdout] test duplicates::tests::build_ignore_set_empty ... ok
[INFO] [stdout] test duplicates::tests::build_ignore_set_valid_patterns ... ok
[INFO] [stdout] test duplicates::tests::file_wide_suppression_excludes_file ... ok
[INFO] [stdout] test duplicates::tests::find_duplicates_empty_files ... ok
[INFO] [stdout] test duplicates::normalize::tests::semantic_mode_preserves_keywords ... ok
[INFO] [stdout] test duplicates::tokenize::tests::cross_language_preserves_non_declare_namespace ... ok
[INFO] [stdout] test duplicates::tokenize::tests::file_tokens_clone ... ok
[INFO] [stdout] test duplicates::tokenize::tests::file_tokens_direct_construction ... ok
[INFO] [stdout] test duplicates::tokenize::tests::file_tokens_empty_construction ... ok
[INFO] [stdout] test duplicates::tokenize::tests::file_tokens_line_count_matches_source ... ok
[INFO] [stdout] test duplicates::tokenize::tests::file_tokens_line_count_minimum_is_one ... ok
[INFO] [stdout] test duplicates::tokenize::tests::js_file_with_jsx_retries_as_jsx ... ok
[INFO] [stdout] test duplicates::tokenize::tests::point_span_at_large_offset ... ok
[INFO] [stdout] test duplicates::tests::find_duplicates_with_real_files ... ok
[INFO] [stdout] test duplicates::tokenize::tests::point_span_is_one_byte ... ok
[INFO] [stdout] test duplicates::tokenize::tests::point_span_near_u32_max ... ok
[INFO] [stdout] test duplicates::tokenize::tests::source_token_clone ... ok
[INFO] [stdout] test duplicates::tokenize::tests::source_token_construction_and_field_access ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_preserves_enums ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_preserves_runtime_code ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_preserves_value_imports ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_as_const ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_as_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_complex_generics ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_conditional_type ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_declare_module ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_export_type ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_export_type_but_keeps_export_value ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_generic_type_arguments ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_generic_type_parameters ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_import_type ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_interface_declarations ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_parameter_type_annotations ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_return_type_annotations ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_satisfies_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_ts_type_annotation_colon ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_removes_type_alias_declarations ... ok
[INFO] [stdout] test duplicates::tokenize::tests::strip_types_ts_and_js_produce_identical_token_kinds ... ok
[INFO] [stdout] test duplicates::tokenize::tests::token_kind_equality_and_hash ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_all_binary_operators ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_array_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_arrow_function ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_arrow_function_params_produce_commas ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_assignment_expression_ordering ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_assignment_operators ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_astro_adjusts_span_offsets ... ok
[INFO] [stdout] test discover::parse_scripts::tests::proptests::looks_like_script_file_no_panic ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_astro_extracts_frontmatter ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_async_arrow_function ... ok
[INFO] [stdout] test duplicates::tokenize::tests::point_span_at_zero ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_binary_expression_preserves_left_op_right_order ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_astro_without_frontmatter_returns_empty ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_await_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_block_statement_produces_braces ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_boolean_literal ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_call_expression_parens_use_point_spans ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_call_expression_with_arguments ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_chained_method_calls_uses_point_spans ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_class ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_class_without_name_and_no_extends ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_computed_member_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_conditional_expression_ordering ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_continue_statement ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_cross_language_produces_correct_metadata ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_css_returns_empty ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_deeply_nested_call_chain_ordering ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_deeply_nested_if_else_chain ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_deeply_nested_structure ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_do_while_statement ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_dynamic_import ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_empty_arrow_function_body ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_empty_file ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_empty_function_body ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_export_all_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_export_default_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_export_named_value_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_expression_statement_appends_semicolon ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_for_in_has_parens ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_for_in_statement ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_for_of_has_parens ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_for_of_statement ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_for_statement_with_all_clauses ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_function_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_function_params_produce_commas ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_function_without_name ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_if_else ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_if_without_else ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_import_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_jsx_element ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_jsx_expression_container ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_jsx_fragment ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_jsx_self_closing_element ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_jsx_spread_attribute ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_logical_expression_order ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_logical_operators ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_mdx_extracts_imports_and_exports ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_mdx_without_statements_returns_empty ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_conditional_ternary_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_multiple_expression_statements_all_have_semicolons ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_new_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_new_expression_with_arguments ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_no_extension_uses_default_source_type ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_null_literal ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_object_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_object_with_nested_member_access ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_only_comments ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_postfix_decrement_order ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_prefix_and_postfix_update ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_regex_literal ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_scss_returns_empty ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_nested_function_calls ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_sequence_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_spread_element ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_nested_binary_expressions_maintain_order ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_static_member_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_string_literal ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_super_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_switch_case_default ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_switch_with_open_close_parens ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_template_literal ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_this_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_throw_statement ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_try_catch_finally ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_as_const ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_as_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_conditional_type_without_strip ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_enum ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_enum_body_has_braces ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_enum_with_initializers ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_generic_type_parameters ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_interface ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_interface_body_has_braces ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_module_declaration_not_stripped_when_not_declare ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_non_null_assertion ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_property_signatures_in_interface ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_satisfies_expression ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_type_alias ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_typeof_void_delete_as_keywords ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_ts_type_keywords ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_unary_operators ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_using_declaration_maps_to_const ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_var_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_variable_declaration ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_variable_declarator_with_no_initializer ... ok
[INFO] [stdout] test discover::parse_scripts::tests::proptests::extract_script_file_refs_no_panic ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_svelte_sfc_extracts_script_block ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_while_has_parens_around_condition ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_while_statement ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_vue_sfc_with_cross_language_stripping ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_vue_sfc_extracts_script_block ... ok
[INFO] [stdout] test duplicates::types::tests::config_deserialize_defaults ... ok
[INFO] [stdout] test duplicates::types::tests::config_deserialize_json_normalization ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_vue_sfc_adjusts_span_offsets ... ok
[INFO] [stdout] test duplicates::types::tests::config_deserialize_normalization_overrides ... ok
[INFO] [stdout] test duplicates::types::tests::config_deserialize_toml ... ok
[INFO] [stdout] test duplicates::tokenize::tests::tokenize_yield_expression ... ok
[INFO] [stdout] test duplicates::types::tests::config_deserialize_cross_language ... ok
[INFO] [stdout] test duplicates::types::tests::detection_mode_default_is_mild ... ok
[INFO] [stdout] test duplicates::types::tests::detection_mode_display ... ok
[INFO] [stdout] test duplicates::types::tests::default_config_values ... ok
[INFO] [stdout] test duplicates::types::tests::detection_mode_from_str ... ok
[INFO] [stdout] test errors::tests::accessors_return_expected_values ... ok
[INFO] [stdout] test errors::tests::accessors_none_when_unset ... ok
[INFO] [stdout] test errors::tests::context_appears_before_help ... ok
[INFO] [stdout] test errors::tests::builder_methods_chain ... ok
[INFO] [stdout] test errors::tests::fallow_error_display_config ... ok
[INFO] [stdout] test errors::tests::fallow_error_display_file_read ... ok
[INFO] [stdout] test errors::tests::fallow_error_display_parse ... ok
[INFO] [stdout] test errors::tests::fallow_error_display_resolve ... ok
[INFO] [stdout] test errors::tests::file_read_error_has_source ... ok
[INFO] [stdout] test errors::tests::file_read_default_help_mentions_exists ... ok
[INFO] [stdout] test errors::tests::error_without_code_shows_plain_prefix ... ok
[INFO] [stdout] test errors::tests::parse_default_help_mentions_ignore ... ok
[INFO] [stdout] test errors::tests::parse_single_error_no_count ... ok
[INFO] [stdout] test errors::tests::resolve_default_help_mentions_installed ... ok
[INFO] [stdout] test errors::tests::parse_zero_errors_no_count ... ok
[INFO] [stdout] test errors::tests::with_context_appends_context_line ... ok
[INFO] [stdout] test errors::tests::with_help_appends_help_line ... ok
[INFO] [stdout] test plugins::angular::tests::resolve_config_extracts_main ... ok
[INFO] [stdout] test plugins::angular::tests::resolve_config_extracts_scripts ... ok
[INFO] [stdout] test plugins::angular::tests::resolve_config_extracts_styles ... ok
[INFO] [stdout] test errors::tests::non_io_errors_have_no_source ... ok
[INFO] [stdout] test plugins::angular::tests::resolve_config_polyfills_skips_packages ... ok
[INFO] [stdout] test plugins::angular::tests::resolve_config_multiple_projects ... ok
[INFO] [stdout] test errors::tests::with_code_overrides_default_code ... ok
[INFO] [stdout] test plugins::astro::tests::virtual_module_prefixes_includes_astro_builtins ... ok
[INFO] [stdout] test plugins::babel::tests::plugin_already_full ... ok
[INFO] [stdout] test plugins::babel::tests::plugin_babel_scoped_short ... ok
[INFO] [stdout] test plugins::babel::tests::preset_already_full ... ok
[INFO] [stdout] test plugins::babel::tests::plugin_short_name ... ok
[INFO] [stdout] test plugins::babel::tests::preset_short_name ... ok
[INFO] [stdout] test plugins::babel::tests::preset_babel_scoped_short ... ok
[INFO] [stdout] test plugins::babel::tests::resolve_config_extends ... ok
[INFO] [stdout] test plugins::babel::tests::resolve_config_json_babelrc ... ok
[INFO] [stdout] test plugins::config_parser::tests::extract_addons_array ... ok
[INFO] [stdout] test plugins::config_parser::tests::extract_default_export_object_property ... ok
[INFO] [stdout] test plugins::config_parser::tests::extract_imports_basic ... ok
[INFO] [stdout] test plugins::config_parser::tests::extract_module_exports_property ... ok
[INFO] [stdout] test plugins::babel::tests::preset_module_prefix ... ok
[INFO] [stdout] test plugins::config_parser::tests::extract_nested_string_array ... ok
[INFO] [stdout] test plugins::babel::tests::resolve_config_presets_and_plugins ... ok
[INFO] [stdout] test plugins::config_parser::tests::extract_define_config_property ... ok
[INFO] [stdout] test plugins::config_parser::tests::handle_empty_config ... ok
[INFO] [stdout] test plugins::config_parser::tests::json_wrapped_in_parens_nested_array ... ok
[INFO] [stdout] test plugins::config_parser::tests::object_keys_empty_object ... ok
[INFO] [stdout] test plugins::config_parser::tests::json_wrapped_in_parens_object_keys ... ok
[INFO] [stdout] test plugins::config_parser::tests::json_wrapped_in_parens_string ... ok
[INFO] [stdout] test plugins::config_parser::tests::object_keys_postcss_plugins ... ok
[INFO] [stdout] test plugins::config_parser::tests::object_keys_non_object_returns_empty ... ok
[INFO] [stdout] test plugins::config_parser::tests::require_strings_empty_array ... ok
[INFO] [stdout] test plugins::config_parser::tests::require_strings_no_require_calls ... ok
[INFO] [stdout] test plugins::config_parser::tests::string_or_array_array ... ok
[INFO] [stdout] test plugins::config_parser::tests::string_or_array_nested_path ... ok
[INFO] [stdout] test plugins::config_parser::tests::object_keys_nested_path ... ok
[INFO] [stdout] test plugins::config_parser::tests::require_strings_array ... ok
[INFO] [stdout] test plugins::config_parser::tests::require_strings_with_tuples ... ok
[INFO] [stdout] test plugins::config_parser::tests::string_or_array_object_values ... ok
[INFO] [stdout] test plugins::config_parser::tests::string_or_array_single_string ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_extracts_schema_array ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_extracts_schema_directory ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_extracts_schema_glob ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_extracts_schema_string ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_custom_out_dir ... ok
[INFO] [stdout] test plugins::drizzle::tests::schema_path_directory ... ok
[INFO] [stdout] test plugins::config_parser::tests::string_or_array_template_literal ... ok
[INFO] [stdout] test plugins::drizzle::tests::schema_path_file ... ok
[INFO] [stdout] test plugins::drizzle::tests::schema_path_glob ... ok
[INFO] [stdout] test plugins::drizzle::tests::schema_path_index_file_adds_directory ... ok
[INFO] [stdout] test plugins::drizzle::tests::schema_path_no_prefix ... ok
[INFO] [stdout] test plugins::eslint::tests::extends_already_full_config_name ... ok
[INFO] [stdout] test plugins::eslint::tests::extends_builtin ... ok
[INFO] [stdout] test plugins::eslint::tests::extends_plugin_rule ... ok
[INFO] [stdout] test plugins::eslint::tests::extends_plugin_scoped ... ok
[INFO] [stdout] test plugins::eslint::tests::extends_scoped_package ... ok
[INFO] [stdout] test plugins::eslint::tests::extends_short_name ... ok
[INFO] [stdout] test plugins::eslint::tests::plugin_already_full_name ... ok
[INFO] [stdout] test plugins::eslint::tests::plugin_scoped_short_name ... ok
[INFO] [stdout] test plugins::eslint::tests::plugin_scoped_with_subpath ... ok
[INFO] [stdout] test plugins::eslint::tests::plugin_short_name ... ok
[INFO] [stdout] test plugins::eslint::tests::resolve_config_flat_config_imports ... ok
[INFO] [stdout] test plugins::eslint::tests::resolve_config_json_eslintrc ... ok
[INFO] [stdout] test plugins::gatsby::tests::resolve_config_imports ... ok
[INFO] [stdout] test plugins::eslint::tests::resolve_config_legacy_eslintrc ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_default_out_dir_not_duplicated ... ok
[INFO] [stdout] test plugins::gatsby::tests::resolve_config_string_plugins ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_custom_runner ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_global_setup_teardown ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_json ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_preset ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_resolver ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_resolver_relative_not_added ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_snapshot_serializers ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_test_runner_builtin ... ok
[INFO] [stdout] test plugins::jest::tests::resolve_config_watch_plugins ... ok
[INFO] [stdout] test plugins::nextjs::tests::config_patterns_match_next_config ... ok
[INFO] [stdout] test plugins::nextjs::tests::enabler_is_next ... ok
[INFO] [stdout] test plugins::nextjs::tests::entry_patterns_include_app_router_and_pages ... ok
[INFO] [stdout] test plugins::nextjs::tests::entry_patterns_include_src_variants ... ok
[INFO] [stdout] test plugins::nextjs::tests::is_enabled_with_next_dep ... ok
[INFO] [stdout] test plugins::nextjs::tests::is_not_enabled_without_next ... ok
[INFO] [stdout] test plugins::nextjs::tests::resolve_config_empty_source ... ok
[INFO] [stdout] test plugins::nextjs::tests::resolve_config_extracts_import_deps ... ok
[INFO] [stdout] test plugins::nextjs::tests::resolve_config_no_page_extensions ... ok
[INFO] [stdout] test plugins::nextjs::tests::resolve_config_page_extensions ... ok
[INFO] [stdout] test plugins::nextjs::tests::resolve_config_page_extensions_includes_src_variants ... ok
[INFO] [stdout] test plugins::nextjs::tests::tooling_dependencies_include_server_client_only ... ok
[INFO] [stdout] test plugins::nextjs::tests::used_exports_includes_route_http_methods ... ok
[INFO] [stdout] test plugins::nuxt::tests::enabler_is_nuxt ... ok
[INFO] [stdout] test plugins::nuxt::tests::entry_patterns_include_app_dir_variants ... ok
[INFO] [stdout] test plugins::nuxt::tests::entry_patterns_include_nuxt_conventions ... ok
[INFO] [stdout] test plugins::drizzle::tests::resolve_config_module_exports ... ok
[INFO] [stdout] test plugins::nuxt::tests::is_enabled_with_nuxt_dep ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_css_double_tilde_always_root ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_css_npm_package ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_css_relative_path ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_css_tilde_resolves_to_root ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_empty_source ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_extends_as_deps ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_import_sources_as_deps ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_modules_as_deps ... ok
[INFO] [stdout] test plugins::nuxt::tests::resolve_config_postcss_plugins_as_deps ... ok
[INFO] [stdout] test plugins::nuxt::tests::used_exports_for_server_api ... ok
[INFO] [stdout] test plugins::nuxt::tests::virtual_module_prefixes_includes_hash ... ok
[INFO] [stdout] test plugins::nx::tests::resolve_config_empty_targets ... ok
[INFO] [stdout] test plugins::nx::tests::resolve_config_extracts_executor ... ok
[INFO] [stdout] test plugins::nuxt::tests::is_not_enabled_without_nuxt ... ok
[INFO] [stdout] test plugins::nx::tests::resolve_config_extracts_main ... ok
[INFO] [stdout] test plugins::postcss::tests::resolve_config_object_and_require ... ok
[INFO] [stdout] test plugins::nx::tests::resolve_config_extracts_tsconfig ... ok
[INFO] [stdout] test plugins::postcss::tests::resolve_config_string_array_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::active_plugin_contributes_config_patterns ... ok
[INFO] [stdout] test plugins::registry::tests::active_plugin_contributes_always_used_files ... ok
[INFO] [stdout] test plugins::registry::tests::active_plugin_contributes_tooling_deps ... ok
[INFO] [stdout] test plugins::registry::tests::active_plugin_contributes_used_exports ... ok
[INFO] [stdout] test plugins::registry::tests::active_plugin_contributes_entry_patterns ... ok
[INFO] [stdout] test plugins::gatsby::tests::resolve_config_object_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_all_empty_conditions ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_all_with_all_matching ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_all_with_partial_match ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_any_empty_conditions ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_any_with_no_matches ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_any_with_single_match ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_dependency_matches ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_dependency_no_match ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_file_exists_discovered_files ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_file_exists_glob_pattern_in_discovered ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_file_exists_no_discovered_match ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_file_exists_wildcard_in_discovered ... ok
[INFO] [stdout] test plugins::registry::tests::check_plugin_detection_nested_all_inside_any ... ok
[INFO] [stdout] test plugins::registry::tests::create_builtin_plugins_all_have_non_empty_names ... ok
[INFO] [stdout] test plugins::registry::tests::create_builtin_plugins_all_have_unique_names ... ok
[INFO] [stdout] test plugins::registry::tests::create_builtin_plugins_contains_critical_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::create_builtin_plugins_returns_non_empty ... ok
[INFO] [stdout] test plugins::registry::tests::default_registry_has_all_builtin_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::dev_deps_also_trigger_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::check_has_config_file_returns_false_for_plugin_without_config_patterns ... ok
[INFO] [stdout] test plugins::registry::tests::check_has_config_file_returns_false_when_no_match ... ok
[INFO] [stdout] test plugins::registry::tests::check_has_config_file_returns_true_when_file_matches ... ok
[INFO] [stdout] test plugins::registry::tests::docusaurus_contributes_virtual_module_prefixes ... ok
[INFO] [stdout] test plugins::registry::tests::eslint_activates_by_config_file_existence ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_config_patterns_added_to_always_used ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detected_by_enablers ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_all_combinator_fails_partial ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_all_combinator_succeeds ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_all_dep_and_file_missing_file ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_all_with_file_and_dep ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_any_combinator ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_dependency ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_file_exists_against_discovered ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_file_exists_no_match ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_overrides_enablers ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_detection_overrides_enablers_positive ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_multiple_used_exports ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_nested_any_inside_all ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_not_detected_when_dep_missing ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_prefix_enabler ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_used_exports_aggregated ... ok
[INFO] [stdout] test plugins::registry::tests::external_plugin_without_enablers_or_detection_stays_inactive ... ok
[INFO] [stdout] test plugins::registry::tests::inactive_plugin_does_not_contribute_entry_patterns ... ok
[INFO] [stdout] test plugins::registry::tests::multiple_external_plugins_independently_activated ... ok
[INFO] [stdout] test plugins::registry::tests::discover_json_config_files_finds_in_subdirectory ... ok
[INFO] [stdout] test plugins::registry::tests::nextjs_detected_when_next_in_deps ... ok
[INFO] [stdout] test plugins::registry::tests::multiple_plugins_detected_simultaneously ... ok
[INFO] [stdout] test plugins::registry::tests::nextjs_not_detected_without_next ... ok
[INFO] [stdout] test plugins::registry::tests::no_plugins_for_empty_deps ... ok
[INFO] [stdout] test plugins::registry::tests::nuxt_contributes_virtual_module_prefixes ... ok
[INFO] [stdout] test plugins::registry::tests::optional_deps_trigger_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::plugin_result_is_empty_for_default ... ok
[INFO] [stdout] test plugins::registry::tests::plugin_result_not_empty_when_any_field_set ... ok
[INFO] [stdout] test plugins::registry::tests::prefix_enabler_does_not_match_without_slash ... ok
[INFO] [stdout] test plugins::registry::tests::prefix_enabler_matches_scoped_packages ... ok
[INFO] [stdout] test plugins::registry::tests::process_config_result_accumulates_across_multiple_calls ... ok
[INFO] [stdout] test plugins::registry::tests::peer_deps_trigger_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::process_config_result_empty_result_is_noop ... ok
[INFO] [stdout] test plugins::registry::tests::process_external_plugins_detection_dependency ... ok
[INFO] [stdout] test plugins::registry::tests::process_external_plugins_detection_not_matched ... ok
[INFO] [stdout] test plugins::registry::tests::process_external_plugins_empty_list ... ok
[INFO] [stdout] test plugins::registry::tests::process_external_plugins_prefix_enabler_matches_scoped ... ok
[INFO] [stdout] test plugins::registry::tests::process_config_result_merges_all_fields ... ok
[INFO] [stdout] test plugins::registry::tests::process_static_patterns_accumulates_across_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::process_external_plugins_prefix_enabler_requires_slash ... ok
[INFO] [stdout] test plugins::registry::tests::process_static_patterns_always_used_tagged_with_plugin_name ... ok
[INFO] [stdout] test plugins::registry::tests::process_static_patterns_entry_patterns_tagged_with_plugin_name ... ok
[INFO] [stdout] test plugins::registry::tests::process_static_patterns_with_minimal_plugin ... ok
[INFO] [stdout] test plugins::registry::tests::process_static_patterns_populates_all_fields ... ok
[INFO] [stdout] test plugins::registry::tests::run_with_config_file_in_discovered_files ... ok
[INFO] [stdout] test plugins::registry::tests::run_discovers_json_config_on_disk_fallback ... ok
[INFO] [stdout] test plugins::registry::tests::discover_json_config_files_returns_empty_for_nonexistent_root ... ok
[INFO] [stdout] test plugins::registry::tests::discover_json_config_files_skips_resolved_plugins ... ok
[INFO] [stdout] test plugins::registry::tests::sveltekit_contributes_path_aliases ... ok
[INFO] [stdout] test plugins::registry::tests::vitest_activates_by_config_file_existence ... ok
[INFO] [stdout] test plugins::rsbuild::tests::resolve_config_define_config ... ok
[INFO] [stdout] test plugins::rsbuild::tests::resolve_config_entry_object ... ok
[INFO] [stdout] test plugins::rsbuild::tests::resolve_config_entry_string ... ok
[INFO] [stdout] test plugins::rsbuild::tests::resolve_config_imports ... ok
[INFO] [stdout] test plugins::rspack::tests::resolve_config_entry_string ... ok
[INFO] [stdout] test plugins::rspack::tests::resolve_config_imports ... ok
[INFO] [stdout] test plugins::rspack::tests::resolve_config_loaders ... ok
[INFO] [stdout] test plugins::storybook::tests::resolve_config_core_builder ... ok
[INFO] [stdout] test plugins::storybook::tests::resolve_config_react_docgen ... ok
[INFO] [stdout] test plugins::storybook::tests::resolve_config_react_docgen_false_ignored ... ok
[INFO] [stdout] test plugins::sveltekit::tests::resolve_config_adapter_import ... ok
[INFO] [stdout] test plugins::sveltekit::tests::resolve_config_preprocess_import ... ok
[INFO] [stdout] test plugins::sveltekit::tests::virtual_module_prefixes_includes_sveltekit_builtins ... ok
[INFO] [stdout] test plugins::tests::is_enabled_with_deps_empty_deps ... ok
[INFO] [stdout] test plugins::tests::is_enabled_with_deps_exact_match ... ok
[INFO] [stdout] test plugins::tests::is_enabled_with_deps_no_match ... ok
[INFO] [stdout] test plugins::tests::plugin_result_is_empty_when_default ... ok
[INFO] [stdout] test plugins::tests::plugin_result_not_empty_with_entry_patterns ... ok
[INFO] [stdout] test plugins::tests::plugin_result_not_empty_with_referenced_deps ... ok
[INFO] [stdout] test plugins::tests::plugin_result_not_empty_with_setup_files ... ok
[INFO] [stdout] test plugins::tooling::tests::babel_prefix_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::biomejs_prefix_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::common_runtime_deps_not_tooling ... ok
[INFO] [stdout] test plugins::tooling::tests::empty_string_not_tooling ... ok
[INFO] [stdout] test plugins::tooling::tests::eslint_prefix_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_esbuild_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_jest_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_prettier_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_tsup_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_turbo_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_typescript_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_vite_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::exact_vitest_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::near_miss_not_tooling ... ok
[INFO] [stdout] test plugins::tooling::tests::prettier_plugins_are_tooling ... ok
[INFO] [stdout] test plugins::tooling::tests::sass_variants_are_tooling ... ok
[INFO] [stdout] test plugins::tooling::tests::storybook_prefix_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::testing_library_prefix_matches ... ok
[INFO] [stdout] test plugins::tooling::tests::types_prefix_does_not_match_similar_names ... ok
[INFO] [stdout] test plugins::tooling::tests::types_prefix_matches_scoped ... ok
[INFO] [stdout] test plugins::tooling::tests::vitest_prefix_matches ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_compiler_options_plugins ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_compiler_options_types ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_extends_array ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_extends_package ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_extends_relative_path ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_jsx_import_source ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_references ... ok
[INFO] [stdout] test plugins::typescript::tests::resolve_config_with_comments_and_trailing_commas ... ok
[INFO] [stdout] test plugins::vite::tests::resolve_config_optimize_deps_exclude ... ok
[INFO] [stdout] test plugins::vite::tests::resolve_config_ssr_external ... ok
[INFO] [stdout] test plugins::webpack::tests::resolve_config_entry_string ... ok
[INFO] [stdout] test plugins::webpack::tests::resolve_config_externals ... ok
[INFO] [stdout] test plugins::webpack::tests::resolve_config_loaders ... ok
[INFO] [stdout] test plugins::registry::tests::run_workspace_fast_detects_active_plugins ... ok
[INFO] [stdout] test plugins::webpack::tests::resolve_config_one_of_loaders ... ok
[INFO] [stdout] test results::tests::empty_results_no_issues ... ok
[INFO] [stdout] test results::tests::results_total_counts_all_types ... ok
[INFO] [stdout] test results::tests::results_with_unused_export ... ok
[INFO] [stdout] test results::tests::results_with_unused_file ... ok
[INFO] [stdout] test scripts::resolve::tests::bin_path_deeply_nested ... ok
[INFO] [stdout] test scripts::resolve::tests::bin_path_no_parent_dots ... ok
[INFO] [stdout] test scripts::resolve::tests::bin_path_scoped_package ... ok
[INFO] [stdout] test scripts::resolve::tests::bin_path_only_dots ... ok
[INFO] [stdout] test scripts::resolve::tests::bin_path_scoped_with_multiple_parents ... ok
[INFO] [stdout] test scripts::resolve::tests::eslint_identity_without_symlink ... ok
[INFO] [stdout] test scripts::resolve::tests::bin_path_simple_package ... ok
[INFO] [stdout] test scripts::resolve::tests::jest_identity_without_symlink ... ok
[INFO] [stdout] test scripts::resolve::tests::oxlint_maps_to_oxlint ... ok
[INFO] [stdout] test scripts::resolve::tests::nuxi_maps_to_nuxt ... ok
[INFO] [stdout] test scripts::resolve::tests::run_p_maps_to_npm_run_all ... ok
[INFO] [stdout] test scripts::resolve::tests::run_s2_maps_to_npm_run_all2 ... ok
[INFO] [stdout] test scripts::resolve::tests::sb_maps_to_storybook ... ok
[INFO] [stdout] test scripts::resolve::tests::run_p2_maps_to_npm_run_all2 ... ok
[INFO] [stdout] test scripts::resolve::tests::unknown_binary_returns_identity ... ok
[INFO] [stdout] test scripts::resolve::tests::tsserver_maps_to_typescript ... ok
[INFO] [stdout] test scripts::shell::tests::advance_bare_yarn_returns_none ... ok
[INFO] [stdout] test scripts::shell::tests::advance_bun_exec ... ok
[INFO] [stdout] test scripts::shell::tests::advance_bun_run_returns_none ... ok
[INFO] [stdout] test scripts::shell::tests::advance_bunx_simple ... ok
[INFO] [stdout] test scripts::shell::tests::advance_no_package_manager ... ok
[INFO] [stdout] test scripts::shell::tests::advance_npm_run_returns_none ... ok
[INFO] [stdout] test scripts::shell::tests::advance_bare_npm_returns_none ... ok
[INFO] [stdout] test scripts::shell::tests::advance_npm_run_script_returns_none ... ok
[INFO] [stdout] test scripts::shell::tests::advance_npx_simple ... ok
[INFO] [stdout] test scripts::shell::tests::advance_npx_with_only_flags ... ok
[INFO] [stdout] test scripts::shell::tests::advance_pnpm_dlx ... ok
[INFO] [stdout] test scripts::shell::tests::advance_pnpm_exec ... ok
[INFO] [stdout] test scripts::shell::tests::advance_npx_with_flags ... ok
[INFO] [stdout] test scripts::shell::tests::advance_yarn_bare_returns_none ... ok
[INFO] [stdout] test scripts::shell::tests::advance_yarn_exec ... ok
[INFO] [stdout] test scripts::shell::tests::advance_pnpx_simple ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_ampersand_at_end_of_slice ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_double_ampersand ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_double_pipe ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_pipe_at_end_of_slice ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_non_operator ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_semicolon ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_single_ampersand ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_semicolon_at_end ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_cross_env_only ... ok
[INFO] [stdout] test scripts::shell::tests::operator_len_single_pipe ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_dotenv_with_separator ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_env_prefix ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_env_var_only ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_multiple_env_vars_then_binary ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_no_wrappers ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_starting_at_nonzero_index ... ok
[INFO] [stdout] test scripts::shell::tests::skip_wrappers_cross_env_prefix ... ok
[INFO] [stdout] test scripts::shell::tests::split_double_quoted_operators_preserved ... ok
[INFO] [stdout] test scripts::shell::tests::split_empty_input ... ok
[INFO] [stdout] test scripts::shell::tests::split_mixed_operators ... ok
[INFO] [stdout] test scripts::shell::tests::split_nested_double_in_single_quotes ... ok
[INFO] [stdout] test scripts::shell::tests::split_nested_single_in_double_quotes ... ok
[INFO] [stdout] test scripts::shell::tests::split_only_operators ... ok
[INFO] [stdout] test scripts::shell::tests::split_single_quoted_operators_preserved ... ok
[INFO] [stdout] test scripts::shell::tests::split_trailing_operator ... ok
[INFO] [stdout] test scripts::shell::tests::split_no_operators ... ok
[INFO] [stdout] test scripts::tests::analyze_complex_script ... ok
[INFO] [stdout] test scripts::tests::analyze_cross_env_with_config ... ok
[INFO] [stdout] test scripts::tests::analyze_extracts_binaries ... ok
[INFO] [stdout] test scripts::tests::analyze_extracts_config_files ... ok
[INFO] [stdout] test plugins::registry::tests::run_workspace_fast_filters_matchers_to_active_plugins ... ok
[INFO] [stdout] test scripts::tests::analyze_extracts_entry_files ... ok
[INFO] [stdout] test scripts::tests::background_operator_splits_commands ... ok
[INFO] [stdout] test scripts::tests::background_with_env_vars ... ok
[INFO] [stdout] test scripts::tests::bin_path_scoped_package ... ok
[INFO] [stdout] test scripts::tests::bin_path_regular_package ... ok
[INFO] [stdout] test scripts::tests::bare_yarn_skipped ... ok
[INFO] [stdout] test scripts::tests::binary_with_args ... ok
[INFO] [stdout] test scripts::tests::builtin_commands_not_tracked ... ok
[INFO] [stdout] test scripts::tests::biome_maps_to_biomejs ... ok
[INFO] [stdout] test plugins::registry::tests::run_workspace_fast_returns_empty_for_no_active_plugins ... ok
[INFO] [stdout] test scripts::tests::config_space ... ok
[INFO] [stdout] test scripts::tests::chained_commands ... ok
[INFO] [stdout] test scripts::tests::config_equals ... ok
[INFO] [stdout] test scripts::tests::config_short_flag ... ok
[INFO] [stdout] test scripts::tests::cross_env_prefix ... ok
[INFO] [stdout] test scripts::tests::double_ampersand_still_works ... ok
[INFO] [stdout] test scripts::tests::env_assignment_invalid ... ok
[INFO] [stdout] test scripts::tests::dotenv_prefix ... ok
[INFO] [stdout] test scripts::tests::mixed_operators_all_binaries_detected ... ok
[INFO] [stdout] test scripts::tests::filter_keeps_production_scripts ... ok
[INFO] [stdout] test scripts::tests::env_assignment_valid ... ok
[INFO] [stdout] test scripts::tests::multiple_background_operators ... ok
[INFO] [stdout] test scripts::tests::multiple_env_vars ... ok
[INFO] [stdout] test scripts::tests::ng_maps_to_angular_cli ... ok
[INFO] [stdout] test scripts::tests::node_eval_no_file ... ok
[INFO] [stdout] test scripts::tests::env_var_assignment_prefix ... ok
[INFO] [stdout] test scripts::tests::node_multiple_files ... ok
[INFO] [stdout] test scripts::tests::node_runner_file_args ... ok
[INFO] [stdout] test scripts::tests::npm_run_skipped ... ok
[INFO] [stdout] test scripts::tests::npx_prefix ... ok
[INFO] [stdout] test scripts::tests::npx_with_flags ... ok
[INFO] [stdout] test scripts::tests::or_chain ... ok
[INFO] [stdout] test scripts::tests::pipe_operator ... ok
[INFO] [stdout] test scripts::tests::node_with_flags ... ok
[INFO] [stdout] test scripts::tests::pnpm_exec ... ok
[INFO] [stdout] test scripts::tests::pnpm_dlx ... ok
[INFO] [stdout] test scripts::tests::non_production_scripts ... ok
[INFO] [stdout] test scripts::tests::pnpx_prefix ... ok
[INFO] [stdout] test scripts::tests::production_script_build ... ok
[INFO] [stdout] test scripts::tests::production_script_serve_preview ... ok
[INFO] [stdout] test scripts::tests::production_script_start ... ok
[INFO] [stdout] test duplicates::normalize::tests::proptests::normalization_is_deterministic ... ok
[INFO] [stdout] test duplicates::normalize::tests::proptests::original_indices_are_sequential ... ok
[INFO] [stdout] test discover::entry_points::tests::compile_glob_set_no_panic ... ok
[INFO] [stdout] test scripts::tests::proptests::is_env_assignment_no_panic ... ok
[INFO] [stdout] test scripts::tests::run_s_maps_to_npm_run_all ... ok
[INFO] [stdout] test scripts::tests::proptests::resolve_binary_always_non_empty ... ok
[INFO] [stdout] test scripts::tests::semicolon_separator ... ok
[INFO] [stdout] test scripts::tests::simple_binary ... ok
[INFO] [stdout] test scripts::tests::split_respects_quotes ... ok
[INFO] [stdout] test scripts::tests::split_double_quotes ... ok
[INFO] [stdout] test scripts::tests::tsc_maps_to_typescript ... ok
[INFO] [stdout] test scripts::tests::tsx_runner_file_args ... ok
[INFO] [stdout] test scripts::tests::unknown_binary_is_identity ... ok
[INFO] [stdout] test scripts::tests::trailing_background_operator ... ok
[INFO] [stdout] test scripts::tests::yarn_run_skipped ... ok
[INFO] [stdout] test suppress::tests::discriminant_roundtrip ... ok
[INFO] [stdout] test scripts::tests::proptests::chained_binaries_produce_multiple_commands ... ok
[INFO] [stdout] test scripts::tests::yarn_exec ... ok
[INFO] [stdout] test suppress::tests::is_file_suppressed_works ... ok
[INFO] [stdout] test suppress::tests::is_suppressed_file_wide ... ok
[INFO] [stdout] test suppress::tests::is_suppressed_empty ... ok
[INFO] [stdout] test suppress::tests::is_suppressed_file_wide_specific_kind ... ok
[INFO] [stdout] test suppress::tests::is_suppressed_line_and_kind ... ok
[INFO] [stdout] test suppress::tests::is_suppressed_line_specific ... ok
[INFO] [stdout] test suppress::tests::issue_kind_from_str_all_variants ... ok
[INFO] [stdout] test suppress::tests::issue_kind_from_str_unknown ... ok
[INFO] [stdout] test suppress::tests::parse_block_comment_suppression ... ok
[INFO] [stdout] test suppress::tests::parse_file_wide_suppression ... ok
[INFO] [stdout] test suppress::tests::parse_file_wide_suppression_with_kind ... ok
[INFO] [stdout] test suppress::tests::parse_next_line_suppression ... ok
[INFO] [stdout] test suppress::tests::parse_next_line_suppression_with_kind ... ok
[INFO] [stdout] test suppress::tests::parse_oxc_comments ... ok
[INFO] [stdout] test trace::tests::trace_clone_finds_matching_group ... ok
[INFO] [stdout] test suppress::tests::parse_unknown_kind_ignored ... ok
[INFO] [stdout] test trace::tests::trace_clone_no_match ... ok
[INFO] [stdout] test trace::tests::trace_dependency_unused ... ok
[INFO] [stdout] test trace::tests::trace_dependency_used ... ok
[INFO] [stdout] test trace::tests::trace_file_imported_by ... ok
[INFO] [stdout] test trace::tests::trace_nonexistent_export ... ok
[INFO] [stdout] test trace::tests::trace_nonexistent_file ... ok
[INFO] [stdout] test trace::tests::trace_unreachable_file ... ok
[INFO] [stdout] test trace::tests::trace_unreachable_file_export ... ok
[INFO] [stdout] test trace::tests::trace_unused_export ... ok
[INFO] [stdout] test trace::tests::trace_used_export ... ok
[INFO] [stdout] test trace::tests::trace_clone_line_boundary ... ok
[INFO] [stdout] test trace::tests::trace_file_edges ... ok
[INFO] [stdout] test scripts::tests::proptests::parsed_binaries_are_non_empty ... ok
[INFO] [stdout] test scripts::tests::proptests::analyze_scripts_no_panic ... ok
[INFO] [stdout] test scripts::tests::proptests::parse_script_no_panic ... ok
[INFO] [stdout] test scripts::tests::proptests::split_shell_operators_no_panic ... ok
[INFO] [stdout] test duplicates::normalize::tests::proptests::output_length_matches_input ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 972 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.21s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/dupes_profile.rs (/opt/rustwide/target/debug/deps/dupes_profile-23bc6f0552299c55)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test profile_dupe_detection ... ok
[INFO] [stderr]      Running tests/dupes_stress_test.rs (/opt/rustwide/target/debug/deps/dupes_stress_test-9809c45102cde0e4)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.04s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test duplication_percentage_computation ... ok
[INFO] [stdout] test empty_files_mixed_with_normal_files_do_not_crash ... ok
[INFO] [stdout] test duplication_report_serializes_to_valid_json ... ok
[INFO] [stdout] test min_tokens_threshold_filters_small_clones ... ok
[INFO] [stdout] test completely_different_files_produce_zero_groups ... ok
[INFO] [stdout] test partial_overlap_detects_shared_region ... ok
[INFO] [stdout] test semantic_mode_detects_type2_clones ... ok
[INFO] [stdout] test single_file_internal_repetition ... ok
[INFO] [stdout] test skip_local_filters_same_directory_keeps_cross_directory ... ok
[INFO] [stdout] test three_identical_files_single_group_three_instances ... ok
[INFO] [stdout] test five_identical_files_single_group_five_instances ... ok
[INFO] [stdout] test many_small_files_with_some_duplicates ... ok
[INFO] [stdout] test all_identical_tokens_does_not_hang ... ok
[INFO] [stdout] test two_identical_large_files_single_group_no_quadratic_blowup ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_test.rs (/opt/rustwide/target/debug/deps/integration_test-81ebe2ee2f484e42)
[INFO] [stdout] 
[INFO] [stdout] running 95 tests
[INFO] [stdout] test barrel_exports::barrel_re_export_propagates_to_source_module ... ok
[INFO] [stdout] test barrel_exports::barrel_exports_detects_unused_re_export_bar ... ok
[INFO] [stdout] test barrel_exports::barrel_unused_re_exports_detected ... ok
[INFO] [stdout] test basic_analysis::analyze_project_convenience_function ... ok
[INFO] [stdout] test barrel_exports::star_re_export_chain_used_propagates ... ok
[INFO] [stdout] test barrel_exports::star_re_export_chain_unused_detected ... ok
[INFO] [stdout] test barrel_exports::multi_hop_barrel_unused_detected ... ok
[INFO] [stdout] test barrel_exports::barrel_unused_type_re_exports_detected ... ok
[INFO] [stdout] test barrel_exports::multi_hop_barrel_used_propagates ... ok
[INFO] [stdout] test barrel_exports::barrel_exports_resolves_through_barrel ... ok
[INFO] [stdout] test basic_analysis::circular_import_does_not_crash ... ok
[INFO] [stdout] test basic_analysis::default_export_flagged_when_not_imported ... ok
[INFO] [stdout] test basic_analysis::analysis_returns_correct_total_count ... ok
[INFO] [stdout] test basic_analysis::duplicate_exports_detected ... ok
[INFO] [stdout] test basic_analysis::cjs_project_detects_orphan ... ok
[INFO] [stdout] test caching::cache_roundtrip ... ok
[INFO] [stdout] test caching::incremental_cache_prune_stale_entries ... ok
[INFO] [stdout] test basic_analysis::default_export_flagged_when_only_named_imported ... ok
[INFO] [stdout] test basic_analysis::basic_project_detects_unused_exports ... ok
[INFO] [stdout] test basic_analysis::side_effect_import_makes_file_reachable ... ok
[INFO] [stdout] test basic_analysis::namespace_import_makes_all_exports_used ... ok
[INFO] [stdout] test basic_analysis::basic_project_detects_unused_files ... ok
[INFO] [stdout] test basic_analysis::basic_project_detects_unused_dependencies ... ok
[INFO] [stdout] test basic_analysis::basic_project_detects_unused_types ... ok
[INFO] [stdout] test caching::incremental_no_cache_all_misses ... ok
[INFO] [stdout] test caching::incremental_full_pipeline_results_match ... ok
[INFO] [stdout] test caching::incremental_results_identical ... ok
[INFO] [stdout] test caching::incremental_with_cache_all_hits ... ok
[INFO] [stdout] test dependencies::unlisted_dependencies_detected ... ok
[INFO] [stdout] test dependencies::unresolved_imports_detected ... ok
[INFO] [stdout] test dependencies::subpath_imports_resolve_correctly ... ok
[INFO] [stdout] test css_modules::css_modules_exports_tracked ... ok
[INFO] [stdout] test duplicates::duplicate_code_min_tokens_threshold_filters ... ok
[INFO] [stdout] test dependencies::unused_dev_dependency_detected ... ok
[INFO] [stdout] test dependencies::unused_optional_dependency_detected ... ok
[INFO] [stdout] test duplicates::duplicate_code_json_output_serializable ... ok
[INFO] [stdout] test duplicates::duplicate_code_semantic_mode_detects_type2_clones ... ok
[INFO] [stdout] test duplicates::duplicate_code_skip_local_filters_same_directory ... ok
[INFO] [stdout] test duplicates::duplicate_code_detects_exact_clones ... ok
[INFO] [stdout] test external_plugins::external_plugin_config_patterns_always_used ... ok
[INFO] [stdout] test external_plugins::external_plugin_active_in_list ... ok
[INFO] [stdout] test duplicates::duplicate_code_find_duplicates_in_project_convenience ... ok
[INFO] [stdout] test dynamic_imports::dynamic_import_pattern_makes_files_reachable ... ok
[INFO] [stdout] test external_plugins::external_plugin_tooling_dependencies_not_flagged ... ok
[INFO] [stdout] test extraction::cjs_exports_dot_assignment ... ok
[INFO] [stdout] test extraction::cjs_interop_detects_require ... ok
[INFO] [stdout] test extraction::cjs_module_exports_assignment ... ok
[INFO] [stdout] test extraction::class_members_are_extracted ... ok
[INFO] [stdout] test extraction::default_export_is_parsed ... ok
[INFO] [stdout] test extraction::destructured_exports_are_parsed ... ok
[INFO] [stdout] test extraction::dynamic_import_is_parsed ... ok
[INFO] [stdout] test extraction::enum_members_are_extracted ... ok
[INFO] [stdout] test extraction::extract_package_name_scoped ... ok
[INFO] [stdout] test extraction::multiple_export_types_in_one_file ... ok
[INFO] [stdout] test extraction::named_re_export_is_parsed ... ok
[INFO] [stdout] test extraction::named_re_export_with_alias ... ok
[INFO] [stdout] test extraction::namespace_import_marks_all_exports_used ... ok
[INFO] [stdout] test extraction::side_effect_import_is_parsed ... ok
[INFO] [stdout] test extraction::star_re_export_is_parsed ... ok
[INFO] [stdout] test extraction::type_only_imports_are_marked ... ok
[INFO] [stdout] test frameworks::css_apply_marks_tailwind_as_used ... ok
[INFO] [stdout] test dynamic_imports::dynamic_import_makes_module_reachable ... ok
[INFO] [stdout] test duplicates::duplicate_code_unique_file_has_no_clones ... ok
[INFO] [stdout] test dynamic_imports::vite_glob_makes_files_reachable ... ok
[INFO] [stdout] test external_plugins::external_plugin_entry_points_discovered ... ok
[INFO] [stdout] test external_plugins::plugin_entry_points_carry_correct_plugin_name ... ok
[INFO] [stdout] test dynamic_imports::webpack_context_makes_files_reachable ... ok
[INFO] [stdout] test external_plugins::external_plugin_used_exports_respected ... ok
[INFO] [stdout] test member_detection::enum_class_members_detects_unused_members ... ok
[INFO] [stdout] test rules_config::ignore_exports_specific ... ok
[INFO] [stdout] test rules_config::ignore_exports_wildcard ... ok
[INFO] [stdout] test frameworks::nextjs_page_default_export_not_flagged ... ok
[INFO] [stdout] test frameworks::nextjs_unused_util_export_flagged ... ok
[INFO] [stdout] test frameworks::path_aliases_mixed_exports_no_false_positive_unused_files ... ok
[INFO] [stdout] test member_detection::enum_whole_object_uses_no_false_positives ... ok
[INFO] [stdout] test rules_config::rules_off_disables_unused_exports ... ok
[INFO] [stdout] test frameworks::path_alias_not_flagged_as_unlisted ... ok
[INFO] [stdout] test rules_config::rules_off_disables_unused_files ... ok
[INFO] [stdout] test rules_config::ignore_dependencies_config ... ok
[INFO] [stdout] test rules_config::rules_off_disables_duplicate_exports ... ok
[INFO] [stdout] test rules_config::rules_off_disables_unused_dependencies ... ok
[INFO] [stdout] test workspaces::project_state_stable_file_ids_by_path ... ok
[INFO] [stdout] test workspaces::project_state_workspace_queries ... ok
[INFO] [stdout] test workspaces::tsconfig_references_discovers_workspaces ... ok
[INFO] [stdout] test sfc_parsing::vue_project_discovers_vue_files ... ok
[INFO] [stdout] test rules_config::rules_off_disables_unused_types ... ok
[INFO] [stdout] test rules_config::results_serializable_to_json ... ok
[INFO] [stdout] test workspaces::workspace_patterns_yarn_format ... ok
[INFO] [stdout] test sfc_parsing::vue_imports_mark_exports_used ... ok
[INFO] [stdout] test sfc_parsing::svelte_imports_mark_exports_used ... ok
[INFO] [stdout] test sfc_parsing::svelte_project_discovers_svelte_files ... ok
[INFO] [stdout] test workspaces::workspace_patterns_from_package_json ... ok
[INFO] [stdout] test workspaces::workspace_project_discovers_workspace_packages ... FAILED
[INFO] [stdout] test workspaces::tsconfig_references_analysis_detects_unused ... ok
[INFO] [stdout] test workspaces::workspace_exports_map_resolves_subpath_imports ... ok
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- workspaces::workspace_project_discovers_workspace_packages stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'workspaces::workspace_project_discovers_workspace_packages' (2521) panicked at crates/core/tests/integration_test/workspaces.rs:64:5:
[INFO] [stdout] deep.ts should NOT be unused (reachable via cross-workspace import through symlink), but found in unused files: ["orphan.ts", "deep.ts"]
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x566db6ba8a6a - <<std[ec4e911328de40a6]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a96a4c5c53f902a3]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x566db6bc165a - core[a96a4c5c53f902a3]::fmt::write
[INFO] [stdout]    2:     0x566db6badb32 - <alloc[c960326de6de28e6]::vec::Vec<u8> as std[ec4e911328de40a6]::io::Write>::write_fmt
[INFO] [stdout]    3:     0x566db6b8447f - std[ec4e911328de40a6]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x566db6b9f9d9 - std[ec4e911328de40a6]::panicking::default_hook
[INFO] [stdout]    5:     0x566db603cdec - test[30c43f9fd66fea90]::test_main_with_exit_callback::<test[30c43f9fd66fea90]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]    6:     0x566db6b9fc52 - std[ec4e911328de40a6]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x566db6b84538 - std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x566db6b7bb39 - std[ec4e911328de40a6]::sys::backtrace::__rust_end_short_backtrace::<std[ec4e911328de40a6]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x566db6b8538d - __rustc[aa69f48705c57ca8]::rust_begin_unwind
[INFO] [stdout]   10:     0x566db6bc1ecc - core[a96a4c5c53f902a3]::panicking::panic_fmt
[INFO] [stdout]   11:     0x566db6024b25 - integration_test[3fd4f3d6671b696c]::workspaces::workspace_project_discovers_workspace_packages
[INFO] [stdout]   12:     0x566db6020633 - integration_test[3fd4f3d6671b696c]::workspaces::workspace_project_discovers_workspace_packages::{closure#0}
[INFO] [stdout]   13:     0x566db600b2e6 - <integration_test[3fd4f3d6671b696c]::workspaces::workspace_project_discovers_workspace_packages::{closure#0} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   14:     0x566db6030ecb - test[30c43f9fd66fea90]::__rust_begin_short_backtrace::<core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>, fn() -> core[a96a4c5c53f902a3]::result::Result<(), alloc[c960326de6de28e6]::string::String>>
[INFO] [stdout]   15:     0x566db603d8bb - test[30c43f9fd66fea90]::run_test::{closure#0}
[INFO] [stdout]   16:     0x566db6038fd4 - std[ec4e911328de40a6]::sys::backtrace::__rust_begin_short_backtrace::<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>
[INFO] [stdout]   17:     0x566db60404c2 - <std[ec4e911328de40a6]::thread::lifecycle::spawn_unchecked<test[30c43f9fd66fea90]::run_test::{closure#1}, ()>::{closure#1} as core[a96a4c5c53f902a3]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   18:     0x566db6ba7b1f - <std[ec4e911328de40a6]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   19:     0x7153cce86aa4 - <unknown>
[INFO] [stdout]   20:     0x7153ccf13a64 - clone
[INFO] [stdout]   21:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     workspaces::workspace_project_discovers_workspace_packages
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 94 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.91s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `-p fallow-core --test integration_test`
[INFO] running `Command { std: "docker" "inspect" "e6a45c2e7220d147e5886ffe601c9445bbd30085860b68b8966d0a771e3bbee6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6a45c2e7220d147e5886ffe601c9445bbd30085860b68b8966d0a771e3bbee6", kill_on_drop: false }`
[INFO] [stdout] e6a45c2e7220d147e5886ffe601c9445bbd30085860b68b8966d0a771e3bbee6
